上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 清扫银河 如果只进行 1 操作,不难证明存在操作序列的充要条件是将所有 1 边拿出来,所有点的度数为偶数,构造方案使用欧拉回路。 因为不存在重边,所以进行 1 操作时每个环环长一定大于 2,因此如果存在一个只有 1 操作的合法操作序列,这个序列的最短长度不大于 $\lfloor \frac{m}{3 阅读全文
posted @ 2020-04-05 11:52 cjoier_Itst 阅读(899) 评论(3) 推荐(0) 编辑
摘要: 有生之年自己做出了一个 AGC F 还踩了标算,但是好像在我之前已经有人踩过标算了,再鞭尸一波也无可厚非 hhh 看到“全部被覆盖” 条件不好做,考虑容斥,即选择若干个位置强制它们不覆盖,那么会有位置不能放车,而其余的位置可以选择放或者不放,方案数可以计算。但暴力枚举不优秀。在后文中为了描述方便定义 阅读全文
posted @ 2020-04-01 13:54 cjoier_Itst 阅读(793) 评论(1) 推荐(7) 编辑
摘要: 先随便想一个贪心策略。 博主的想法类似匈牙利:以任意顺序枚举一个非 W 团子 $A$,从 $A$ 团子开始枚举八个方向,如果某个方向上的团子是 W 且没被用过,则考虑再往这个方向上走一步的团子 $B$ 是否是非 W 的、和当前团子不同的团子。如果不同则尝试把 $AB$ 串起来,如果 $B$ 没有和别 阅读全文
posted @ 2020-03-28 23:33 cjoier_Itst 阅读(570) 评论(1) 推荐(3) 编辑
摘要: 这是一个困扰了我很久的问题,最近在算导上看到了 H K 算法,网上提到复杂度证明的较少,故在 Wiki 上翻了一下并进行简单翻译和补充以造福社会 ~~垃圾百度百科竟然是 Wiki 的机翻~~ Dinic 和 Hopcroft Karp 算法的思路是每一次找到若干条最短的增广路同时增广。先给出结论:在 阅读全文
posted @ 2020-03-24 09:19 cjoier_Itst 阅读(4083) 评论(3) 推荐(11) 编辑
摘要: "其他题看兔队的博客,我懒得更了(" Subtask 1 每一次丢最小的肯定不劣,证明似乎挺显然的来着。 Subtask 2. 先把 $n \leq 2$ 的情况判掉,只需简单枚举若干情况。 对于 $n \geq 3$,结论是存在方案的充要条件是以下条件无一成立: 1. 不存在一个数出现大于等于 $ 阅读全文
posted @ 2020-03-18 21:43 cjoier_Itst 阅读(396) 评论(1) 推荐(2) 编辑
摘要: 莫名其妙成为周更博主…… 在后文中只考虑询问起点在终点左边的情况,右边的情况 reverse 即可,相等的情况是平凡的。 做一个小小的转化:把涉及第 $i$ 个点的时间均减去 $i$,一条连接 $i$ 与 $i+1$ 的道路因为从 $i$ 到 $i+1$ 所以被第 $i$ 个点涉及。这样左右移动不会 阅读全文
posted @ 2020-02-24 11:07 cjoier_Itst 阅读(624) 评论(0) 推荐(3) 编辑
摘要: Updated On 2022.02.01:情况 4 细节添加,也算是解决了第一次做这个题的时候一些口胡上的疑惑 2011年就能出出这样充满科技感+脑力的题,佩服POI Orz 约定:字符串 \(s\) 的下标从 \(0\) 开始,\(s_{i,j}\) 表示 \(s\) 的第 \(i\) 到第 \ 阅读全文
posted @ 2020-02-17 21:00 cjoier_Itst 阅读(1013) 评论(0) 推荐(9) 编辑
摘要: 标算太NB 我觉得用这种做法,这道题难度只有2500 如果原图不是二分图显然无解。否则对于一个点数$\geq 2$的连通块的两边可以缩成两个点,它们不能染相同的颜色。对于独立的点可以新建一个$[0,10^9]$的虚点让这个点和虚点不染相同颜色。然后就变成了有$n$个区间、$\frac{n}{2}$对 阅读全文
posted @ 2020-02-03 23:17 cjoier_Itst 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 前言 你打开了“P4000 斐波那契数列”一题; 你发现是已经写过 $\mathrm{998244853}$ 遍的求 $\mathrm{Fib}_n$; 你熟练地写出矩阵快速幂并提交; 你得到了一版的 $\mathrm{TLE}$ ,因为 $n \leq 10^{30000000}$; 你点开了题解 阅读全文
posted @ 2020-01-29 20:17 cjoier_Itst 阅读(756) 评论(0) 推荐(2) 编辑
摘要: 题意说人话就是给出一个长度为$n$的数列$a_1,a_2,...,a_n$,求$\prod\limits_{i=1}^n (1+x^{a_i})$,其中卷积的下标加法定义为$k$进制不进位加法。 $k$进制不进位加法不难想到$k$进制FWT,所以我们需要快速求出$\prod\limits_{i=1} 阅读全文
posted @ 2020-01-21 15:13 cjoier_Itst 阅读(683) 评论(4) 推荐(3) 编辑
摘要: "传送门" 之前一直咕着的,因为一些~~特殊的~~原因把这道题更掉算了…… 有一个对值域莫队+线段树的做法,复杂度$O(n\sqrt{n} \log n)$然而牛客机子实在太慢了没有希望(Luogu上精细实现似乎可以过)。 考虑对序列进行块大小为$B=\sqrt{n}$的分块。对于某一个块来说,如果 阅读全文
posted @ 2019-12-18 21:32 cjoier_Itst 阅读(595) 评论(2) 推荐(1) 编辑
摘要: "LOJ" 感觉这个题十分好玩于是诈尸更博。一年之前的做题心得只有这道题还记得清楚…… 设输入为$n,m$时的答案为$f(n,m)$,首先$f(n,m)=f(m,n)$所以接下来默认$n \leq m$。一件重要的事情是~~打表~~得到当$m n+1$时$f(n,m) = f(n,m 1) 3$,证 阅读全文
posted @ 2019-11-13 22:12 cjoier_Itst 阅读(463) 评论(4) 推荐(3) 编辑
摘要: "Contest Page" A 唯一会做的题/kk 题目相当于要求相邻三个的异或和为$0$。 当我们放入了三个数$a,b,c$时,接下来的放入顺序显然一定是$a,b,c,a,b,c,...$。所以当数可以分成三份,每份大小$\frac{n}{3}$且其中的数全部相等,从三份中各取一个数的异或和为$ 阅读全文
posted @ 2019-10-21 21:31 cjoier_Itst 阅读(645) 评论(4) 推荐(1) 编辑
摘要: "Contest Page" A 对于一个长度为$L$的相同字符段,显然要花费$\frac{L}{2}$次操作才能使得相邻不相同。于是只需要分类讨论一下首尾字符是否相同,算出每种字符、每种长度的连续字符段出现了多少次即可。 B 首先当图不是二分图的时候肯定无解,否则可以发现答案的上界是图上两点的最短 阅读全文
posted @ 2019-10-20 09:21 cjoier_Itst 阅读(597) 评论(2) 推荐(0) 编辑
摘要: 代码自己去LOJ看 JOI2013 彩灯 把序列划分成若干极长交替列,那么最优的方案一定是将一个极长交替列翻转使得连续的三个极长交替列合成一个。计算相邻三个极长交替列长度的最大值即可。 搭乘IOI火车 DP:$f_{i,j}$表示两个串的起点分别在$i,j$位置最长的拼接长度,转移就先放一个'I', 阅读全文
posted @ 2019-10-12 16:35 cjoier_Itst 阅读(1888) 评论(7) 推荐(6) 编辑
摘要: "传送门" 最小值最大考虑二分答案,不难发现当最小值$mid$确定之后,原点到所有直线的距离一定都是$mid$时才是最优的,也就是说这些直线一定都是$x^2+y^2=mid^2$的切线。 接下来考虑一个点会被哪些切线所保护。作出这个点到圆的公切线,得到两个切点,那么在这两个切点之间的优弧上选择一个点 阅读全文
posted @ 2019-10-05 11:19 cjoier_Itst 阅读(419) 评论(12) 推荐(0) 编辑
摘要: "Contest Page" 因为一些特殊的原因所以更得不是很及时…… A sol 不难发现当某个人diss其他所有人的时候就一定要被删掉。 维护一下每个人会diss多少个人,当diss的人数等于剩余人数$ 1$的时候放队列里,每一次取队头更新其他人diss的人数。 "code" B sol 一个结 阅读全文
posted @ 2019-10-03 22:58 cjoier_Itst 阅读(548) 评论(0) 推荐(1) 编辑
摘要: "传送门" ~~题解搬运工++~~ 先证明一个贪心做法的正确性:做以下操作若干次,每一次考虑选择没有被选到答案序列中的数加入到答案序列中对答案的贡献,设第$i$个位置的贡献为$V_i$,如果最大的贡献小于0则退出,否则选择其中贡献最大的加入答案序列中。 首先一个引理:在上述贪心策略下,如果$a_i$ 阅读全文
posted @ 2019-09-28 21:04 cjoier_Itst 阅读(445) 评论(0) 推荐(0) 编辑
摘要: "Contest Page" 开题开错翻车场.jpg A sol $A \frac{W}{2}$或者$B \frac{H}{2}$的时候无解,否则构造方法长下面这样 c++ include using namespace std; int main(){ static int arr[200003] 阅读全文
posted @ 2019-09-22 17:27 cjoier_Itst 阅读(640) 评论(0) 推荐(0) 编辑
摘要: "Contest Page" "A" sol 真的有人不会做这道题? include using namespace std; define int unsigned long long const int _ = 229029 , tar[] = {2,31,1847}; signed main( 阅读全文
posted @ 2019-09-20 22:43 cjoier_Itst 阅读(448) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页