[ CodeVS冲杯之路 ] P1098】的更多相关文章

 不充钱,你怎么AC? 题目:http://codevs.cn/problem/1098/ 显然就是使每堆牌达到总体的平均数,尽量使每次移动时的牌数最大,这就类似于飞行棋,将几个棋子叠起来一起走是最优的. 我们将数组变为关于平均数的浮动,然后每次寻找距离最小的一正一负的两个位置,将绝对值小的补上,也就是将其中一个变为0(若绝对值相等就是两个),再从多的往少的一个个标记,代表会往那边移动一次.注意这里要开一个左一个右,因为向左和向右是代表的两种不同得方案.那么这样我们就达到了每次移动牌数尽可能最多…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1368/ 嗯……泡泡堂,很劲啊,其实就是个盗版的田忌赛马 http://www.cnblogs.com/hyfer/p/5853381.html 这边博客讲得很好啊,虽然不是这道题,但是方法是完全类似的 你把田忌赛马看懂了,泡泡堂就自然解出来了 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath>…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1092/ 嗯,这道题有一定难度啊,需要先用扩展欧几里得算法求出逆元,然后按照大小构一颗带边权为小时数的树 树链剖分后在树上DP,设f[i][j]为以 i 为根 j 为子树的最小的那一天 注意DP方程是有单调性的,可以用动态仙人掌维护,最后答案容斥一下即可 目测代码量8k+ #include<cstdio> #include<algorithm> using namespace std; int main…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/3955/ 最长上升子序列的加强版,n 有1000000,n 方的 DP 肯定会 TLE,那么用二分栈维护 二分栈我讲不好啊,交给他吧 http://www.cnblogs.com/Booble/archive/2010/11/27/1889482.html #include<cstdio> #include<cstdlib> #include<cstring> #include<cma…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1165/ 题目很简单,代码最好写朴实一点,不要想着哪些情况可以合并在一起啊等等 老老实实一个个判断,不然很容易出错 细节很多,幸好样例给的良心,可以检测出很多细节 自己字符串模拟即可,一定要细心! #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream>…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1053/ 直接扫一遍串,把字母对应的 ascii 码直接做数组下标,交给数组统计 最后查询一遍数组的 'a'-'z' ,找到最多的和最小的(注意判0) 再根号 n 地判断质数即可 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #includ…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1171/ 代码调了很久才调好啊,一开始题目都看错了(要是真的NOIP肯定没戏了QuQ) 后面发现CodeVS上的数据输入最后是没有回车的,导致WA烂啊…… 给你两个串,它们每个字母有一一对应的关系,如果遇到不同字母对应相同的就 Failed 或者相同字母对应不同字母也 Failed,如果最后 'A'-'Z' 其中有没有对应的还是 Failed 直接开 255 的数组,(其实也可以只开26个)相当于 26 个关键字的哈…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1197/ 密钥的字母可以全转换为小写字母,然后一一映射,a→0,b→1,c→2,依此类推 对于密文只需将每一位减去对应密钥的映射,如果小于 a 或 A 则再将它加上 26 即可 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/2492/ 在此先orz小胖子,教我怎么路径压缩链表,那么这样就可以在任意节点跳进链表啦(手动@LCF) 对于查询操作,直接树状数组(以下简称BIT)维护,修改操作就一个个暴力开方搞,再用差值单点更新BIT 不过这样会TLE,要加一点优化对不对,正如开头所说的路径压缩链表 路径压缩链表其实就是个并查集,在普通的链表里,删去两个连续的节点后会是下面这种情况,如删去2,3 当访问 2 的时候,会跳到3,但 3 已经删除了,…
不充钱,你怎么AC? 题目:http://codevs.cn/problem/2456/ 用贪心的思想,木材当然要尽量分成多的木板,而大的木材能够分成大木板,但是小的木材不一定能够分成大的木板,所以木板和木材都是从小到大开始选,然后要保证剩余的木材最少 那么将木板和木材排序,对于每个木材,把能够分的小木板尽量分掉,如果遇到更大的木板则把最小的木板腾出来,然后在加上,这样保证剩余的木材最少 因为是上午写得这道题,思路可能不连贯了,代码应该描述的很清楚 虽然贪心在CodeVS上可以过,但是它是有数据…