Codeforces 的题目
Blackieonly
我只是个高中生。。
热爱编程的合肥一中的学生。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CF 205B Little Elephant and Sorting
极其坑爹的一道题目啊。。 一开始拿那什么判断下降子序列在那捣腾,心里想B组题目怎么这么难。。 后来仔细一想,对于第i-1,i 和 i+1三个数,ans+=max(0,(a[i]-a[i-1]))+max(0,(a[i+1]-a[i])); 为什么呢,因为如果后面的数比a[i-1]要小,那么在第一次a[i]升级为与a[i-1]相等的时候,顺便把他带上就行了,而且a[i+1]与[i]之间的差值并原创 2016-11-10 00:31:45 · 467 阅读 · 0 评论 -
CF 106C Buns
裸的多维背包。。但本蒟蒻能看出多维背包但是写不出来。。 于是想了个骚办法,就是把多维背包强制成01背包。。 然后愉快的dp。。结果数据弱到跑完test总共才30ms。。 完全不科学的最后一次显示running on test 38,这么多数据居然总共加在一起才30ms。。 #include using namespace std; int n,m,c0,d0,a,b,c,d,do原创 2016-10-28 21:57:38 · 466 阅读 · 0 评论 -
CF 278A Circle Line
然而是一道大水题。 先把一圈加起来,然后判断直达和兜一圈子(直接相减得到) #include using namespace std; int n,d[101],sum,s,t,beg; void read() { int i; cin>>n; for(i=1; i<=n; i++) { cin>>d[i]; sum+=d[i]; } cin>>s>>t原创 2016-10-14 23:43:34 · 681 阅读 · 0 评论 -
CF 450B Jzzhu and Sequences
数学问题。 看到题目第一反应是菲波那切数列,然而看到2*10^9的数据范围。。吓得不敢讲话。。 直到我好好读了一遍题目。 f[i]=f[i-1]+f[i+1] 移项,得到 f[i+1]=f[i]-f[i-1] 就是 f[i]=f[i-1]-f[i-2] 然后把前面几个列出来: f1; f2; f3=f2-f1; f4=f3-f2=-f1; f5=f4-f3=-f2; f6=原创 2016-10-14 22:54:04 · 334 阅读 · 0 评论 -
CF 37A Towers
然而这又是一道大水题。。 啥也不说了,直接上代码。。 #include using namespace std; int n,a; int f[1001]; int ans,max1; void read() { int i,j; cin>>n; for(i=1; i<=n; i++) { cin>>a; f[a]++; } for(i=1; i<=1000;原创 2016-10-13 23:28:34 · 737 阅读 · 0 评论 -
CF 66B Petya and Countryside
然而这是一道大水题。。 主要思想就是以一个为中心,然后朝两边找。 然而暴力的代码一点也不优美。于是我们想办法直接处理,用递推就可以解决。 这是我在Code Forces里第一次交题目。。 #include using namespace std; int n,a[1001],f1[1005],f2[1005],ans; void read() { int i,j; cin>>n原创 2016-10-13 23:25:41 · 452 阅读 · 0 评论 -
CF 106C Buns 再解
学过了多维背包的蒟蒻终于会写这题了。。。 就是用一个k来循环多次取,跟转化为01背包的时间复杂度会是一模一样的。。(30ms again证明了这一点) 但空间效率却大大提高。原来7000多kb,现在8kb。。完全不是一个数量级的。 总之这道题是很裸的多维背包。。 #include using namespace std; int n,m,c0,d0,a,b,c[12],d[12]原创 2016-10-31 00:25:57 · 409 阅读 · 0 评论 -
CF 567B Berland National Library
大水题一道。用tmp记录当前在阅览室的人的人数。 如果遇到直接出去没进来的,就在已有的ans上+1。表示以前就在里面。 表示纯模拟15ms就跑完了。。 #include using namespace std; const int maxl=1000000; int ans,tmp,n,num; char a; bool flag[maxl+1]; void read() {原创 2016-11-12 14:00:40 · 509 阅读 · 0 评论
分享