codeforces题解
文章平均质量分 73
mlzmlz95
这个作者很懒,什么都没留下…
展开
-
codeforces 272,273( Round #167)题解
div2 A:水题div2B:水题,算一下就知道答案其实很小div2C:水题,每次更新高度即可,也可单调栈div2D:排列算完答案再除以2^K即可,每次ans%2==0时即ans/2div2E:这个题其实不可能-1,但是没想到这一点不妨碍AC(T_T)二分图染色调整即可。div1D:蒟蒻觉得这是好题,大牛们都说是TC上的原题,渣渣没做过。首先,联通性质保证,如果同一原创 2013-03-02 13:21:44 · 439 阅读 · 3 评论 -
Codeforces Beta Round #5
好久没写题解了真是忧桑,估计以后遇到水题大概也懒得写了吧,大学生活真尼玛忙啊,以后遇到好题写题解好了= =。。虽说懒得写题解但是题还是做的,代码均在github.com/mlz000上可以看到= =废话+广告完毕ABCD跳过~>_E:首先将最高的移到第一个,再结尾再加一个最高元素变环为链,令r[i]为第i个元素右边开始第一个严格大于a[i]的元素,c[i]为i~r[i]之间和i高度相等的个原创 2013-10-17 21:36:28 · 904 阅读 · 0 评论 -
Croc Champ 2013 - Qualification Round题解
A:水题B:水题C:枚举前几个1即可,用set做会方便一些D:构造题,貌似有很多种构造方式。我记录了一下最左面的已经完成构造的位置now,前面的如果a[i]+a[now]上代码:#include #include #include #include #include #include using namespace std;const int N=10005;i原创 2013-04-19 19:39:38 · 553 阅读 · 0 评论 -
Croc Champ 2013 - Round 1 题解
A:水题B:水题,只需要记录连得边数的点的个数即可轻易判断C:个人觉得是一个比较蛋疼的题,开始还看错了,以为不允许出现0,>_#include#include#include#includeusing namespace std;const int N=15;int n,tot,a[N],c[N],p[N],w[N],ans[100005][N];void cnt(int原创 2013-04-19 19:48:05 · 552 阅读 · 0 评论 -
codeforces 300(Round #181)题解
A:我的决策是,首先将一个负数分到第一组,如果所有数乘积为负第三组分一个0,否则,第三组分一个0和一个负数,其他分到第二组B:暴力即可,也可写并查集C:枚举判断答案,重点在组合数取模,除以一个数再取模,只需乘上这个数的乘法逆元再取模即可。根据费马小定理,a^(p-1)=1(mod p) -> a*a^(p-2)=1(mod p),则a^(p-2)就是a的乘法逆元codeD:原创 2013-04-27 15:22:01 · 1172 阅读 · 2 评论 -
Croc Champ 2013 - Round 2 题解
1A:统计第一个数列为1的位置第二个数列为0的个数,第一个数列为0的位置第二个数列为1的个数,和两个数列相同位置均为1的个数,判断即可code1B:搜索,具体实现看代码吧#include#include #include #include #includeusing namespace std;const int N=15,M=1000000007;int an原创 2013-04-25 17:10:57 · 656 阅读 · 0 评论 -
codeforces Round #180题解
2A:情况只有3种,全是R,全是L,连续R再连续L,乱搞即可2B:小贪心,往目的地方向走总是没错的1A:随意组合貌似能组合出当前拥有的数字的各种形态?T_T。统计1的个数即可,如果奇数个1,它可以变得多一个,然后如果1的个数大于等于第二个串就是yes1B:贪心即可,从大到小排序,前者相同顺序如果有一个位置大于后者,一定可以成立1C:很好的题,引用CF官方题解的图(红色为a,蓝色为b原创 2013-04-25 17:34:09 · 725 阅读 · 0 评论 -
codeforces 295(Round #179)题解
2A:水题,显然每个数字可以调整到任意位置,于是计算每个数字出现个数,如果大于(n+1)/2则不可以,其余的必定成立2B:不错的题。反面考虑比较好,用总数减去所有成立的,即是不成立的方案数1A:水题,可以写线段树,最好的方法显然是差分数组,先差分操作数,再差分值,最后计算即可1B:个人认为是一道非常好的题,考察了一个非常重要,但是特别容易忽视的性质。题意是求每次删点前任意两点间原创 2013-04-15 20:28:28 · 960 阅读 · 1 评论 -
codeforces 286(Round #176)题解
A:水题,我的做法是算2×2格子的和,不为2即可B:水题,贪心+二分查找C:我是手写几个数的表,看的规律,很容易发现,前两个后两个可以分为一组,第一个是2,第二个是n,倒数第二个是1,倒数第一个是n-1...以此类推,注意可以用stl的next_permutation函数枚举,方便看规律。具体证明没推,cf貌似有。上代码#include #include #include #原创 2013-03-26 19:12:27 · 938 阅读 · 0 评论 -
codeforces 285(Round #175)题解
A:直接写降序的即可,剩下全部升序B:水模拟C:排序+贪心即可D:先弄一个初始排列a[i]=i,然后枚举排列使其满足要求,可以用stl的next_permutation函数,很方便。然后将a[i]=i这种排列对应的方案数*n!(1~n的排列为n!种,b数组随a对应改变即可)即可,nE:递推好题!|p[i]-i|=1,意味着第i位置要是cool位置的话只能取i+1或者i-1,这点原创 2013-03-25 19:55:12 · 850 阅读 · 4 评论 -
codeforces 288,289(Round #177)题解
2A:水题2B:很容易想到排个序,取中位数即可。将所有数尽量变成中位数即可1A:在后面还可以完成要求不同字母的个数的前提下,前面尽量排ab,然后再排新字母#include#include#include#includeint main(){ int i,n,k; scanf("%d%d",&n,&k); if(k>n || (k==1原创 2013-04-06 20:17:41 · 6793 阅读 · 0 评论 -
codeforces 283,284(Round #174)题解
2A:暴力即可,有数学方法,答案即为phi(phi(p)),具体证明详见http://jijiwaiwai163.blog.163.com/blog/static/186296211201261133849397/2B:记录'I'的个数a,'A'的个数b,a=0显然答案就是b,a=1答案显然只能为1,a>=2答案显然为0。2C(1A):由于1~i均加一个值,完全没必要1~i都记录,只需原创 2013-03-22 20:18:56 · 664 阅读 · 0 评论 -
codeforces 1(Round #1)题解
A:水题。B:字符串水题,二十六进制。C:计算几何,先求出三角形外接圆即为多边形外接圆,然后求三角形三条边所对应弧的圆心角,最大公约数极为正多边形每条边弧所对应圆心角,面积易求。三角形的面积用海伦公式求,然后结合正弦定理即可求出半径。#include//计算几何 #include#include #include #includeusing namespace std;do原创 2013-03-15 15:48:18 · 697 阅读 · 2 评论 -
codeforces 280,281(Round #172)题解
2A:没什么可说的,大水题2B:这个很郁闷,朴素的模拟,但是比赛时忘了精度问题挂了,桑心>_2C(1A):平几题,唯一麻烦的是由两种情况,一种是有几个三角形的,另一种是只存在平行四边形,邻接情况需要计算。(据说正解是半平面交?不清楚)我设的是两种三角形的斜边长,解二元一次方程,上代码:#include#include#include#include #include usin原创 2013-03-13 11:04:05 · 609 阅读 · 0 评论 -
codeforces 282(Round #173)题解
A:水B:同水,比赛的时候我用了个比较渣的贪心,虽然过了但不是很好。有种更好的贪心方案,把a的求和,如果sum>500 sum-1000即可然后选G,剩下的选A即可,显然不会出现无解情况C:只需把所有情况都列出来即可,我们会发现00变不成任何其他数字,01,11,10可以互变,判断程度和00情况即可D:博弈,比赛时着急,没成功YY对,117个点貌似过到81个点挂了。比赛完仔细想想,明白原创 2013-03-15 12:33:41 · 716 阅读 · 0 评论 -
Codeforces Round 12
最近时间比较少,好久没补CF了,于是先补一发D再说D:树状数组好题,题目大意是有N个人,每个人3个属性a,b,c,如果她发现有另外一个人三个属性都比她高,她就会自杀,求自杀人的个数首先可以按a值降序,a相等的按b升序排,由于范围是1e9,于是将b离散化。处理c属性的大小关系。将离散后b的名次作为树状数组的下标,维护c的大小,树状数组中存储的是比此人a属性大的人中,c属性的最大值.统计即原创 2013-11-18 18:24:34 · 1051 阅读 · 0 评论