摘要: void Cout(int x) { if(x>9) Cout(x/10); putchar(x%10+'0'); } 阅读全文
posted @ 2017-08-07 16:58 WeiAR 阅读(90) 评论(0) 推荐(0) 编辑
摘要: void Cin(int &x) { char c=getchar();x=0; int y=1; while(c'9') { if(c=='-') y=-1; c=getchar(); } while(c='0')x=x*10+c-'0',c=getchar(); x*=y; } 阅读全文
posted @ 2017-08-07 16:57 WeiAR 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 洛谷P1440 求m区间内的最小值 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 以上代表我此时的心情,调了一个小时。。。。只因为顺序,维护一个单调递增队列就好了,这里n很大,输出要优化 阅读全文
posted @ 2017-08-07 16:55 WeiAR 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 洛谷P1725 琪露诺 交了15遍,差点砸电脑,我对自己无语了,为什么不好好想,耐下心来。。第一感觉是dp,然后没仔细想,瞎觉得好像不是,然后没管住自己,看了标签,果然是dp,后悔自己为何没好好想想。不过自己写出了转移方程,很好,然后编程的时候没有按方程转移,再次无语。。最后确定答案时,范围卡小了, 阅读全文
posted @ 2017-08-07 14:50 WeiAR 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 洛谷P1714 切蛋糕 O(mn)的枚举,按框的长度枚举,A了两个点,TLE了3个。Ans=max(ans,s[i]-s[j]); 然后进行单调队列优化,ans=max(ans,s[i]-min(s[j));i-m<=j<=i-1;用一个单调递增的单调队列来维护s[j]的最小值,每次直接取队首元素就 阅读全文
posted @ 2017-08-07 10:25 WeiAR 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 洛谷P1638 逛画展 很经典的一道类似有一个头,一个尾,然后头和尾移动,从前往后扫一遍的题,我以前做过一道类似的,很相似,不过我不记得了,唉,可惜。正解是枚举区间的左右端点,右端点不断移动直到正好框住k种,此时,(r-l)与(j-i)比较,更新l,r,最后i++,直到i==n. 我一开始也没想到这 阅读全文
posted @ 2017-08-07 08:09 WeiAR 阅读(154) 评论(0) 推荐(0) 编辑