codeforces
文章平均质量分 71
jasonvictoryan
这个作者很懒,什么都没留下…
展开
-
codeforces 628F
原题原题链接题目大意给你一个集合的大小NN,NN是55的倍数。 然后有一些限制: 集合里的数范围是[1,b][1,b]. 集合中的数mod5=0,1,2,3,4mod 5=0,1,2,3,4的数的个数各为N/5N/5。 还有qq个附加限制,就是元素值为[1,upToi][1,upTo_i]的个数为quantityiquantity_i。 问是否存在一个集合满足条件。范围(5 ≤ n ≤ b原创 2016-03-19 12:07:40 · 1018 阅读 · 0 评论 -
线性同余方程及例题 codeforces 710D
简述⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪x≡r1(modm1)x≡r2(modm2)x≡r3(modm3)……\left\{\begin{aligned}x ≡ r_1 \pmod{m_1} \\x ≡ r_2 \pmod{m_2} \\x ≡ r_3 \pmod{m_3} \\……\\\end{aligned}\right. 求最小非负整数解xx.中国剩余定理两个方程先考虑只有两个方程怎么做。原创 2016-08-23 20:20:49 · 2377 阅读 · 1 评论 -
codeforces 626G
题目大意给你nn个奖池,tt张彩票,qq次修改。 每个奖池的奖金为pip_i,原来每个奖池有lil_i张彩票。 每次修改,可以把一个奖池的彩票数+1或-1。 每次修改后问投奖所能获得的奖金的最大期望,每个奖池投奖的彩票数不能超过总彩票数的一半。思路在同一个奖池中,后一张彩票的的贡献一定比前一张的贡献要小,我们可以用线段树维护,一个区间贡献最大的点的位置,以及减小一张彩票所减小的贡献最小的点。那原创 2016-03-30 21:20:30 · 1033 阅读 · 0 评论 -
codeforces 616F
原题原题链接题目大意给你n≤105n\leq10^5个字符串,字符串总长度≤5∗105\leq 5*10^5,每个字符串有一个价值cic_i,让你构造一个字符串,使得∑ni=1ci∗ps,i∗|s|\sum_{i=1}^n c_i*p_{s,i}*|s|最大,ss为构造的字符串,|s||s|为构造的字符串的长度,ps,ip_{s,i}为构造的字符串在第ii个字符串中的出现次数。输出这个最大值。解题思原创 2016-04-16 15:48:06 · 854 阅读 · 0 评论 -
codeforces 573E
题目描述给你nn个数,让你取出其中的某些数,使得剩下的数组成一个序列(不能调换顺序),序列的∑ki=1i∗si\sum_{i=1}^{k} i*s_i最大。解题思路多次贪心取最优值。假设当前选的序列的前缀和为sumisum_i。 1.如果一个数aja_j在上一个序列没有选,但是aj∗numj+sn−sj≥0a_j*num_j+s_n-s_j\geq 0,numjnum_j表示aja_j排在序列的第原创 2016-04-06 10:14:16 · 2363 阅读 · 0 评论 -
codeforces 653F
原题原题链接题目大意给你一个长度为n≤5∗105n\leq 5*10^5的只含有左右括号字符串,问,有多少个不同的合法的字串满足正确的括号序。满足条件的括号序: 1) A=”()” 2) (A) 3) AA解题思路我们可以把((当成+1,把))当成-1,那么可以做一个前缀和sis_i,如果要求以ii位置开头的合法的括号序的个数就是求有多少个i<j≤ni<j\leq n满足sj=si−1,∀i≤原创 2016-04-15 11:31:46 · 728 阅读 · 0 评论 -
codeforces 650E
原题原题题目大意给你两棵树,你要让原树变为新树,每次可以删一条边加一条边,但是在任意时刻,不能出现环,问最小步数以及删边加边的方案。解题思路首先考虑那些在初态和终态下都出现的边。这些边显然都是不动的,把它们连接的两个点合并起来。合并时要维护这个集合内的点与集合外的点的连边。答案很显然为总边数减去不动的边数,即每次删一条原树中的边,并增加一条终态的树上的边。按照任意顺序删去原树中要改变的边(u,v)(转载 2016-03-29 11:34:45 · 755 阅读 · 0 评论 -
codeforces 652F
原题原题链接题目大意给你nn只蚂蚁的初始位置以及它们的最初的方向。蚂蚁会在一个大小为mm的环上行走,走tt时刻。若两只蚂蚁相撞时,他们会把自己的行走方向转换。问最后每只蚂蚁的位置。解题思路如果我们设每只蚂蚁都是相同的,那么两只蚂蚁相撞可以理解为两只蚂蚁各在自己的路上继续走。我们就可以知道最后蚂蚁们在哪里。由于蚂蚁是有序的,所以我们不能知道哪只蚂蚁对应哪个位置。还有就是,蚂蚁之间的相对顺序是固定的,因原创 2016-03-28 10:26:33 · 1177 阅读 · 0 评论 -
codeforces 632F
题目大意给定一个矩阵AA,大小是n∗n,n≤2500n*n,n\leq2500,判断这个矩阵是否是MagicMagic的。 一个矩阵是MagicMagic的,必须满足。 1.ai,i=01.a_{i,i}=0 2.ai,j=aj,i2.a_{i,j}=a_{j,i} 3.3.对于∀i,j,k\forall i,j,k满足ai,j≤max(ai,k,aj,k)a_{i,j}\leq max(a原创 2016-04-12 22:28:22 · 1078 阅读 · 2 评论 -
codeforces 251D
题目描述给你n≤105n\leq10^5个数,让你分成两个集合,设第一个集合的数的异或值为x1x1,第二个集合的数的异或值为x2x2,空集的异或和定义为00,让你求一个使得x1+x2x1+x2的值最大,并且满足最大条件下x1x1的值最小的方案。解题思路首先你会发现,如果二进制中第ii位一共有奇数个11,那么这一位一定会给答案增加2i2^i的贡献,因为奇数个11分成两堆,一定有一堆为奇数个,一堆为偶数原创 2016-04-08 22:25:35 · 1180 阅读 · 0 评论 -
codefoces 632E
题目大意给你nn种物品,每种物品有一个价值aia_i,每一种物品可以取任意次,问恰好取kk次物品能取到的所有可能价值,从小到大输出价值。 n,ai,k≤1000n,a_i,k\leq1000解题思路可以容易写出一个dp,fi,j,kf_{i,j,k}表示已经做到第ii种物品,取了jj次,是否存在和为kk的方案,这个方法的时间复杂度是O(n4)O(n^4).我们可以消掉一维,首先,我让每个数都减去最原创 2016-04-11 22:20:45 · 816 阅读 · 1 评论 -
codeforces 652E
题目大意给你一个nn个点,mm条边的连通图,某些边上会有宝藏,只有一个询问,问从aa到bb是否存在一条路径使得,路径上没有重边并且路径上有宝藏。范围(1 ≤ n ≤ 3∗105,0 ≤ m ≤ 3∗105)(1 ≤ n ≤ 3*10^5, 0 ≤ m ≤ 3*10^5) 思路易得,如果一个环上有宝藏,那么我一定可以从环上的一个点进去,拿到宝藏,然后从任意一个点出来。那么我就可以缩环,建树,现在的树就原创 2016-03-26 09:20:40 · 1100 阅读 · 0 评论 -
codeforces 755E PolandBall and White-Red graph
题目大意给你点数nn,以及限制kk. 你要构造一个连通图GG以及连通补图G′G'。 使得min(G的直径,G′的直径)=kmin(G的直径,G'的直径)=k.解题思路k=1k=1k=1k=1时显然无解。k≥4k\geq4k>=4k>=4时也无解。证明我们用dd表示GG中的距离。 我们用d′d'表示G′G'中的距离。假设d(u,v)≥4d(u,v)\geq4,证明∀x,y\forall x,y满原创 2017-01-16 11:47:54 · 1123 阅读 · 0 评论