
cf
文章平均质量分 58
流年冲淡时光
这个作者很懒,什么都没留下…
展开
-
cf276B
注意特判奇数个数目为0的情况#include#include#include#includeusing namespace std;int main(){ char s[1005]; int a[30]; scanf("%s",s); memset(a,0,sizeof(a)); i原创 2015-05-20 18:43:38 · 390 阅读 · 0 评论 -
CF574D消去n堆方格的次数
队友很随意的撸出来的,而且好像比题解的容易理解,鉴于队友不喜欢写博客,我帮他写下记录下,其实是我自己不会学习一下,感觉队友比我聪明,灵感比较多,他好像是直接计算出每一堆消去的最少次数,但是需要正反扫一次,然后找出全部的最大值即可,#include#include#include#include#include#include#include#include#includ原创 2015-08-31 14:12:05 · 453 阅读 · 0 评论 -
CF574B根据m简化时间
这题很神奇的简化时间的方式,反正本弱渣感觉很神奇,本来我写的三层循环,然后果断T了,因为是n^3的算法,然后把第二层训话后面加一个if判断语句,时间复杂度就变成了你n^2+n*m,不是很理解这个时间复杂度是怎么算的,具体的看代码:#include#include#include#include#include#include#include#include#includ原创 2015-08-31 13:16:09 · 412 阅读 · 0 评论 -
CF581D三个矩形能否构成一个无空隙的正方形
这题又呵呵一次,自己脑子笨就讨论了所有情况,自己讨论了十种情况,貌似讨论的有点多,然后就乱了,讨论完就交了,结果终测挂了,仔细想了一下貌似把-1的情况的位置放错了,然后加了几个continue,把-1情况输出的位置换了一下就过了,还是做的少,WA的离谱。这题自己的代码写的即麻烦,又繁琐,应该是讨论的情况多了,毕竟怕错,就小心了一点,然而还是跪了,十种情况,三个长方向一致的情况,然后原创 2015-09-29 15:53:33 · 740 阅读 · 0 评论 -
CF581C用k去把n个数补成十的整数倍求最大
这题错的更是离谱,我想的好好的,然后代码敲上去,然后交了,竟然可以暂时通过,我也是醉了,而且过了20组数据,然后看了下我WA的代码,我cmp都写好了,竟然忘记sort一下了,一口鲜血吐出,加了一个sort分分钟AC,而且记得交之前我还看了下代码,竟然没发现我写的cmp没有用,这题就是先按照把每个数不成十的倍数需要的大小去排序,然后再从第一个数开始补,补齐的就加上这个补齐后的数字处于十,原创 2015-09-29 16:26:10 · 496 阅读 · 0 评论 -
CF582B一个数列重复n次求非递减序列
其实感觉这道题如果想的话也许比前面那道题还简单一些,一个简单DP,其实简单的DP就是贪心,首先这道题如果t所以这里面毕竟有重复,这个重复就是找出数字最多那个数字,然后重复t-n次,然后和n以内的最长的非递减序列相加就行了,具体的看代码:#include #include #include #include #include #include #include#incl原创 2015-10-05 18:20:52 · 835 阅读 · 0 评论 -
CF582A给出n个数的相互GCD,求这n个数,map的使用
反正比赛的时候没想到怎么做,主要应该还是智商问题,比赛的时候胡思乱想很久,没想到怎么做:其实也很简单:题意:由n个数,可以构成一个n*n的gcd矩阵 (每两个数之间)现在给你n*n个数(任意序),求出 矩阵对应的 n个数(任一合法答案)可知: 最大的数必然是要求的数。。。(不可能存在两个数的公约数是他)(如果最大的数有多个,那么MAX与MAX的公原创 2015-10-04 22:02:43 · 757 阅读 · 0 评论 -
Codeforces Round #324 (Div. 2) 数论乱搞过
可惜脑子不够快,手速也不够快,第二题想了好长时间才发现是一个很简单的规律,就是3^(3*n)-7*n;也就是每个位置都可以选一到三三个数,然后减去全部都是六的情况就行了,而且n为1的情况hint也给了,就很简单了,然而我还是想了半天。第三题构造题,也没什么说的。然后做第四题的时候已经没有时间了,可惜了,第四题表面上是一个数论题,然而其实乱搞就能过,没什么说的,不明白的看代码:#in原创 2015-10-07 16:14:28 · 381 阅读 · 0 评论 -
CF591CF01串的变换,找规律
这题知道应该是一个规律题,然而并没有什么卵用,规律找不到,AC不了,前面俩题手速不够快,只能掉rating。说一下这题的规律:首先只有101和010会变化,很明显可以知道,然后开个数组,记录需要变化的位置,然后每一段需要变化的01串需要交换的次数为:len+1/2;然后变化的规律:若子串长度len为奇数,即首尾数字相同的,该子串变为同样长度,与首尾数字一致的串,如101原创 2015-10-26 18:59:46 · 605 阅读 · 0 评论 -
CF #328C题最小公倍数乘法溢出
这次只做了A,B俩题竟然没掉rating,amazing,而且A题忘记特判被别人黑了,交了俩发再次AC。A题注意特判,相等的情况,由于是A先,所以相等的时候是A赢,读了题竟然忘记了。B题乱猜的,写了几个发现是(n-2)^2,然后就交了,最后答案规律竟然真的是这个,然而并不能说明白为什么。C题其实也很简单,主要我竟然没有看出求LCM会乘法溢出。乘法溢出这里只要把公式变形一下特判下就行了。原创 2015-11-01 13:18:17 · 504 阅读 · 0 评论 -
codeforces round #332
A题讨论四种情况就行,不多说。B题建立hash表就行了,找不到就是impossible,对应的坐标多了就是第二种,否则就是第一种,输出就行了,代码写的有点乱:#include#include#include#include#include#include#include#include#include#include#define LL __int64using原创 2015-11-21 16:33:31 · 421 阅读 · 0 评论 -
cf560B一个矩形如何能包含另外俩个矩形
自己画矩形画了半天唯恐有什么漏的,最后没时间了,怒交一发,竟然过了,俩个矩形本来的摆法有四种,然后另外一个矩形套在外面,能套下的话有俩种放法:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#defi原创 2015-07-23 21:18:02 · 662 阅读 · 0 评论 -
cf559B字符串的最小表示法和递归的写法
这题有俩种做法,一种递归,一种字符串的最小表示法,刚开始自己写了一发递归,结果一个递归里面有俩个return 0,呵呵了。自己连正确的递归姿势都不会,其实可以把俩个return放到俩个函数里面。递归法:#include#include#include#include#include#include#include#include#include#include#in翻译 2015-07-23 21:12:55 · 599 阅读 · 0 评论 -
cf 340C 差值递推
题意:固定起点是0,给出一个序列表示n个点,所有点都在一条直线上,其中每个元素代表了从起点到这个点所走的距离。已知路过某个点不算到达这个点,则从起点出发,到达所有点的方案有许多种。求所有方案走的总路程/方案数,输出分子、分母,要求不含约数。e.g:n=3 {2,3,5},{2,3,5}{2,5,3}{3,2,5}{3,5,2}{5,2,3}{5,3,2},总路程(5+7+7+8+9+8)=44翻译 2015-05-20 20:36:15 · 523 阅读 · 0 评论 -
cf400A
#include#include#includeusing namespace std;int t;char ss[13];bool is_hehe(int a,int b){ for(int i=1;i<=b;i++) { int flag=1; for(int j=0;j<a;j++) if(ss[i+j*b-1]=='O原创 2015-05-20 18:41:26 · 559 阅读 · 0 评论 -
cf 474D
多么简单的dp题,多么容易想到的dp方程,然而我并没有想到,难道这就是智商问题,忧伤,题目意思:Marmot 吃两种类型的花(实在难以置信呀~~):red 或者 white,如果要吃到white这种花,就需要吃连续 k 朵 white;而如果吃 red,就没有这种限制。给定区间[a, b],问总共的吃法有多少种。 dp 题!状态转移方程不难得到。设 dp[i] 表示 长度为 i翻译 2015-05-20 21:18:07 · 569 阅读 · 0 评论 -
cf437C 贪心算法
然而打死也没有想到用贪心,还是智商问题,智商是硬伤,也是忧伤。贪心,每条绳子都是需要割断的,那就先割断最大值对应的那部分周围的绳子。#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long翻译 2015-05-20 22:12:47 · 759 阅读 · 0 评论 -
cf554A使用set和string解决字符串重复问题
这道题当时自己A的,比较麻烦,而且想了好久,还用了unique()函数去重,比较麻烦,而且WA了一发自己的代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#incl原创 2015-07-02 20:59:42 · 686 阅读 · 0 评论 -
CF554B水题一发,求最大字符串相等的行
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define LL long longint m原创 2015-07-02 21:15:49 · 594 阅读 · 0 评论 -
cf554题意的理解和组合问题
这题当时做的时候不是很理解题意,就撸了一发卢卡斯定理,结果不对,后来理解了好久还是不理解那句话,百度了题解,发现是第i中颜色的最后一个后面必须是i+1种颜色,然后剩下的就是组合问题,#include#include#include#include#include#define LL long longusing namespace std;LL c[1005][1005];翻译 2015-07-12 19:09:44 · 372 阅读 · 0 评论 -
cf558B查找最短的最大区间段,利用二维数组巧妙简化运算
本题自己当时比较心急,一则题目没有看清楚,被样例吸引走了,题上说的如果有多组符合,输出任意一组,当成了输出最左边的一组来做,二来,比较心急,想水一发后台数组,卡一下时间,果然当时就卡过了,然后遇上后台大数组果断TLE了,注意此处用一个二维数组统计每个数的左右边界,巧妙简化了时间,而且我自己当时用的结构体排序也比较麻烦。#include#include#include#includ翻译 2015-07-15 09:40:22 · 487 阅读 · 0 评论 -
CF574A优先队列是一个数加上另外一些数,使这个数在这些数中最大
这题大水题一个,至于我,一定是脑抽了WA到最后,想想都觉得呵呵。其实就是每次让最大的数减一,然后排次序,如此循环即可。另外也可以用优先队列来做,这里贴上优先队列的代码:#include#include#include#include#include#include#include#include#include#include#include#include原创 2015-08-30 10:03:23 · 400 阅读 · 0 评论 -
cf559A每个角都是120度的六边形补成正三角形
每个角都是120度的六边形显然可以补成正三角形,然后用正三角形的面积减去补出来的三个正三角形除以一个边长为1的正三角形面积即为这个六边形包括的边长为1的三角形的个数。这个题起初自己想的以为必须左边的边和右边的边相等才能使每个角都是120度,即b==f,其实只要左边的长度和右边的长度一样就可以即b+c=e+f;#include#include#include#include#翻译 2015-07-23 21:07:05 · 715 阅读 · 0 评论 -
Codeforces Round #344 (Div. 2) C题数列的前n个数进行m次升降排序
这题,当时做的时候想了半天没思路,其实也很简单,只是刷题少,没想到而已。这题还是比较巧妙地。首先我们要发现如果r1变成多个按r降序的排列。然后第二点,也是很难想到的一点就是,每次前面那个数列和后面再次排列的数列相比,多出来几个数,而这几个数要不是大数,要不是小数,而且后面在排序的时候,前面多出来这几个数是不会变的。所以这里有个辅助数组b[maxn],存储要用的数字按从小到大原创 2016-03-04 20:46:10 · 566 阅读 · 0 评论