ICode9

精准搜索请尝试: 精确搜索
  • P8013 [COCI2013-2014#4] GMO 题解2022-08-07 21:04:50

    题目大意 给定一字符串,你需要在这个字符串中插入若干个字符,使字符串中包含目标字符串,并使花费的代价最少。 思路 由于这道题数据范围不是很大,\(( n ≤ 10000 )\) ,我们可以枚举以原字符串的每一个位置为开头的代价,维护一个最小值即可。 代码 #include<bits/stdc++.h> using names

  • 【题解】「JOI 2015 Final」JOI 公园2022-08-07 10:33:41

    Description Solution Code #include <cstdio> #include <algorithm> #include <queue> #define int long long using namespace std; const int MAXN = 1e5 + 10, MAXM = 4e5 + 5, INF = 1e18; int n, m, C; int head[MAXN], nxt[MAXM], ver[MAXM], edge[

  • 【题解】「JOISC 2014 Day1」有趣的家庭菜园2022-08-07 10:31:25

    Description Solution 我们不难发现最终得到的是一个单峰序列,所以中间那个草一定放最高的,然后往两边依次放叫矮的。 由于每一次操作会增加一组逆序对,所以只需要思考如何让最终序列的逆序对数最少。 我们可以正反跑两次,放那边的逆序对最少,就是每一个草的贡献,就去那边,最后求和即可

  • CF285C题解2022-08-07 10:02:06

    题目大意: 就是给你一个长度为 \(n\) 的序列 \(a_i\) ,现在只能进行 \(+1\) 和 \(-1\) 的操作,问你最少需要多少步操作才能将原序列变为下标从 \(1\) 到 \(n\) ,且数值同样从 \(1\) 到 \(n\) 的序列。 题目分析: 这题我们可以使用贪心的策略,我们这样想: 将序列按从小到大的顺序排序后,每

  • SP1700题解2022-08-07 10:01:56

    题目大意: 给你一些车票和一些城市,问你从 \(a\) 走到 \(b\) 怎么走才能使总花费时间最小,并且没有限制城市的先后顺序。 题目分析: 这里看到题目后,因为数据范围 \(1 \leqslant n \leqslant 8\) ,很容易就想到能用状压DP做,只不过这是在图上做DP。 但这里需要考虑一个很重要的问题,是对车

  • CF1044C题解2022-08-07 10:00:46

    题目大意: 给你 \(n\) 个在平面直角坐标系内的点,然后求出 \(3,4,5...,n\) 边形的最大周长,任意两点间距离为曼哈顿距离。 题目分析: 显而易见,因为距离为曼哈顿距离,所以题目要求的东西就变成了由多个点组成的矩形的周长。 举个例子,如下图,假设我们选择这样四个点: 那么我们要求的矩形长

  • [CF1713D]Tournament Countdown 题解2022-08-07 02:02:49

    传送门QAQ (注:写题解时 system test 还未进行,如果 fst 了就看个乐吧 qwq) \(2^n\) 个人打淘汰赛。\(1\) 号和 \(2\) 号打,\(3\) 号和 \(4\) 号打,依次类推。 胜利的 \(2^{n-1}\) 人再这样打下去,直到唯一的胜者出现。 你不知道比赛的具体情况,请用不超过 \(\lceil \frac{2^{n+1}}{3} \r

  • 洛谷P1571题解2022-08-07 00:04:03

    我寻思着拿两个指针一扫不就得了? 首先把特殊贡献奖和科技创新奖排好序,再用指针寻找两个序列中编号相同的,最后输出。 时间复杂度大概为O(2*n*log(n)+2n) 因为排序打乱了原先科技创新奖获奖名单中的先后次序,所以我们要记录好每一个获得科技创新奖的人的编号的位置,并记录好原科

  • 2022牛客暑期多校训练营6 个人题解2022-08-06 19:20:25

    \(A\):Array 思路 构造题,可以考虑寻找小于等于每个数的最大的2的次幂作为该数的周期。将最大的周期定为 \(m\) 。然后从小到大排序,依次将每个下标按周期填入。剩余的空白位置可以随意填一些1到n的数。 code #include <bits/stdc++.h> using namespace std; using ll = long long;

  • CF1714A 题解2022-08-05 14:03:23

    题目大意 小 V 在每天的 \(H\) 时 \(M\) 分睡觉。 小 V 每天订了 \(n\) 个闹钟,第 \(i\) 个闹钟在 \(h_i\) 时 \(m_i\) 分响起。 闹钟响之后小V就醒了。 如果任何闹钟在小V睡觉的时候响起,答案将是 \(0\) \(0\)。 解法 枚举每个闹钟响起的时间,如果 \(h_i<H\),说明闹钟在睡觉后的第

  • [CF1716D]Chip Move 题解2022-08-05 13:31:58

    传送门QAQ 题目大意 一个数轴上,有一个芯片初始位置为 \(0\),它可以向右移动,第 \(i\) 次移动的距离必须是 \(k+i-1\) 的倍数,求走到 \(1\sim n\) 每个点的方案数。 \(1\le k \le n\le 2\times 10^5\)。 Preface 这道题真的后悔死了,场上就发现了性质,但优化没想出来,结果比赛一结束想

  • 2022.08 做题记录2022-08-05 01:00:09

    更好的阅读体验 2022.08.04 切了几道水题,下午多校摆烂。上午的题实在太水就不写了(虽然下午的题也很水) CF383C 一眼题。考虑这个交错加减换很不好处理,所以就可以把树黑白染色,然后就转化成子树加/减的问题。然后就用时间戳+BIT 做就行了。 Code 后面本来有题的,但是跟 mzx 探讨了一

  • 「题解」AGC038C LCMs2022-08-05 00:01:02

    \(i\) 和 \(j\) 不对称很烦,求 \(\sum_i\sum_j\mathrm{lcm}(A_i,A_j)\) 再减去 \(\sum_i A_i\) 再除 \(2\) 即可得到答案。现在来考虑 \(i\) 和 \(j\) 取值均为 \(0\sim N-1\) 的式子: \[\begin{aligned} &\sum_i\sum_j\mathrm{lcm}(A_i,A_j) \\ =&\sum_i\sum_j\frac{A

  • YACS 两数之积 题解2022-08-04 18:34:20

    link   分别考虑原数组 $a[]$ 中所有的正数,负数以及 0 的数量:设 $a[]$ 中正数的数量为 $cnt1$ 个,把 $a[]$ 中所有正数保存在 $bz[]$ 数组中,负数数量为 $cnt2$ 个,保存在 $bf[]$ 数组中,0 的数量为 $cnt0$ 个。----------------------------------设 $x1$, $x0$, $x2$ 分别为两两相

  • 题解 CF1684F Diverse Segments2022-08-03 23:02:30

    vp 的时候写了一个比较愚蠢的做法过了。 首先选择一个区间修改等价于删掉这个区间。那么考虑它给定的 \(m\) 个区间会有什么影响。假设给定的某个区间是 \([l,r]\),那么假设颜色 \(col\) 在这个区间出现 \(k\) 次,下标是 \(c_1,c_2,...,c_k\)。那么: \(0\le k\le 1\):没用。 \(k\ge 2

  • hdu71862022-08-03 22:05:14

    题面 根据唯一质数分解定理可得,一个正整数 \(n=\prod_{i=1}^k p_i^{c_i}\) ,设 \[f(n)=\frac{n}{\prod_{i=1}^k c_i} \]给定 \(n\) ,求: \[\sum_{i=1}^n f(i) \]数据范围:\(n\le 10^{12}\) 。 题解 数论好题!从没碰到过的类型! 首先要注意到 \(f(n)\) 是一个积性函数,碰到积性函数的前缀

  • [NOIP2020]字符串匹配 题解2022-08-03 21:34:55

    传送门QAQ Preface 怎么题解里全是扩展 KMP 啊,好像就我不会这个东西QAQ。 只能写写大佬们都看不上的哈希+调和了>_< Analysis 令 \(N=| S|\)。 首先发现,枚举 \(C\) 再判断前缀消耗的时间很多,这样行不通。 转向考虑枚举 \(AB\),得出所有的 \((AB)^i\),不难发现可以用哈希+调和做到 \(

  • CF1149C 题解2022-08-03 16:01:50

    (Link,Div1,2700) 首先把边上的括号序转换成不完整的点上括号序:把每条边上的括号下放到它所指向的儿子处,题设序列就变成了“从根节点开始遍历整棵树,除根结点外,每开始访问和结束访问某个结点的子树时分别将一个 ( 和一个 ) 添加至序列末尾”所最终形成的括号序。借鉴树上莫队的方式方法

  • CF1051G 题解2022-08-03 16:00:46

    (Link,Div2,2900) 考场上看到这道题:哇!这个操作好神奇!哇!样例这个操作方案太妙了!卧槽?为什么总费用还能是负数?(花30min模拟样例)什么阴间操作,毫无规律可循,跑路跑路。…… 笔者赛场上的思维能力仅限于此。言归正传,提升观察的高度,发现每个 \(a_i\) 操作前或操作后总有一个 \(a_j\) 与之相邻,于

  • AtCoder Beginner Contest 262 题解2022-08-03 12:32:32

    AtCoder Beginner Contest 262 A - World Cup 题解:循环判断即可 #include <bits/stdc++.h> using namespace std; void solve() { int n; cin>>n; for(int i=n;;i++) { if(i%4==2) { cout<<i<<'\n';

  • 【题解】Educational Codeforces Round 722022-08-03 08:35:37

    因为最近不想做简单题,所以只有 C-E C.The Number Of Good Substrings 题目描述: 原题面 题目分析: 我们发现一个长度为 \(len\) 的二进制串能表示的长度最多就是 \(2^{len}-1\),所以我们就能很明显的发现一个性质:我们枚举的区间长度不可能超过 \(\log n\),因为如果超过这个数值很显然

  • CF Round Hello 2022 部分题解2022-08-02 20:02:53

    来补个档。 CF1621G Weighted Increasing Subsequences 先离散化。对每个上升子序列计算权值是困难的,我们考虑每个位置对答案的贡献。 即我们想要知道对于每个 \(a_p\),\(i_k\) 最远能到哪里,使得存在一个 \(x \in (i_k, n]\) 满足 \(a_x > a_i\)。容易发现,若设 \(r_p\) 为最右端的

  • 题解 CF1575H Holiday Wall Ornaments2022-08-02 18:34:37

    先对 \(b\) 跑一遍 KMP,建出它的 KMP 自动机。接下来考虑 DP。我们定义 \(dp[i][j][k]\) 表示在 \(a\) 串中做到位置 \(i\),\(b\) 串中匹配到位置 \(j\)(也是 KMP 自动机上的位置),目前已经匹配了 \(k\) 个字符串 \(b\),此时的最小代价。 转移的时候,枚举 \(a_i\) 这位填了什么,在 KMP 自

  • 题解 P4163 [SCOI2007]排列2022-08-02 13:31:15

    强烈谴责只有 125MB 的行为,然后我没删调试是个什么 SB。。。 闲话少说,切入正题—— 首先看到取余和数字是可以排列的,我们自然而然的想到了数位 dp,但是很显然这题不是的数位 dp 通常解决的是 \(1\sim k\) 之间符合要求的数这里是恰好符合的。 发现 \(s\) 长度很小,只有 \(15\),所以

  • 【题解】Codeforces Round 811 Div.3(CF1714)2022-08-02 13:03:10

    总体来说没有全切掉就比较遗憾,主要还是手速比较慢。 A.Everyone Loves to Sleep 题目描述: 原题面 题目分析: 考虑闹钟的数量很少,所以直接暴力计算出睡到每一个闹钟响的时间,然后取最小值就好了。 代码详解: 点击查看代码 #include<bits/stdc++.h> using namespace std; struct node{

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有