08 2014 档案
HDU 4968 Improving the GPA
摘要:枚举。 枚举每个分段有多少个科目,对每个枚举的状态判断是否满足条件,对满足条件的取其中最大和最小值。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const double eps=1e-8;... 阅读全文
posted @ 2014-08-21 09:59 gfc 阅读(142) 评论(0) 推荐(0)
HDU 4970 Killing Monsters
摘要:开始以为是线段树,算了一下复杂度也觉得能过。。。但是这题貌似卡了线段树。。。具体做法: 对每一个塔,记录attack[l]+=d,attack[r+1]-=d;这样对于每个block,受到的伤害就是前缀和attack[1]+attack[2]+...+attack[i]; 从后往前遍历,计算从当... 阅读全文
posted @ 2014-08-21 09:45 gfc 阅读(135) 评论(0) 推荐(0)
HDU 4939 Stupid Tower Defense
摘要:dp;枚举red,dp前i 个塔中有j 个蓝塔的最大伤害。机智的地方:dp前i 个塔的时候可以同时处理n-i 个红塔,这样就少了个循环。。。(枚举红塔的循环) 1 #include 2 #include 3 #include 4 using namespace std; 5 6 long l... 阅读全文
posted @ 2014-08-19 10:59 gfc 阅读(125) 评论(0) 推荐(0)
HDU 2795 Billboard
摘要:可以用线段树写。虽然有h(1h的情况。线段树保存区间剩余的空间最大值,每次询问+处理同时进行,优先选择左边。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 200005 ; 7 8 ... 阅读全文
posted @ 2014-08-14 16:53 gfc 阅读(111) 评论(0) 推荐(0)
HDU 4941 Magical Forest
摘要:用map存信息,各种标记,各种。。。写的很乱,表在意。。。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 map mm[100005]; 8 map c; 9 map... 阅读全文
posted @ 2014-08-12 17:04 gfc 阅读(180) 评论(0) 推荐(0)
HDU 1166 敌兵布阵
摘要:线段树。。。数组开2*n 居然不够。。。手动写出线段树后才发现可能会超出2*n 个数。一直找不到错在哪,wa到哭,当时就想,一个点修改线段树居然wa成这样,简直不要不要的了ps:hdu1754 I Hate It 也是这样写的,输入输出形式稍微改下,和改为最大值 1 #include 2 #inc... 阅读全文
posted @ 2014-08-06 17:17 gfc 阅读(187) 评论(0) 推荐(0)
UVA 11992 Fast Matrix Operations
摘要:线段树 1 #include 2 using namespace std; 3 4 const int maxn = 1000005; 5 const int INF = 1000000009; 6 7 struct node { 8 int sum,ma,mi; 9... 阅读全文
posted @ 2014-08-06 11:52 gfc 阅读(116) 评论(0) 推荐(0)
UVA 11235 Frequent values
摘要:离散化+RMQ。离散化存储每个数出现的次数,再RMQ查询max次数。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn=100005; 7 8 int count[maxn]; 9 int ... 阅读全文
posted @ 2014-08-04 18:44 gfc 阅读(150) 评论(0) 推荐(0)
UVA 1428 Ping pong
摘要:树状数组枚举裁判位置,设裁判为第i 个人,左边有l[i]个比他小的选手,右边有r[i]个比他小的选手;令c[i]表示技能值为i 的人是否存在,计算l[i] 即c[1]~c[i-1]的和,计算l[i]后使c[a[i]]=1;同理求r[i]; 1 #include 2 #include 3 #inc... 阅读全文
posted @ 2014-08-04 16:43 gfc 阅读(253) 评论(0) 推荐(0)
UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
摘要:开始用vector模拟,用一个迭代器its来保存当前光标位置,写完发现insert可能复杂度有点高还是什么的,tle了。。。后来用另一个方法,从后往前遍历,用一个数r 来表示每次光标移到前面后再次移动的位置(可能说的不是很清楚,具体看代码吧。。。囧rz)每次碰到'['则输出从'['到r 的字符并标记... 阅读全文
posted @ 2014-08-04 14:51 gfc 阅读(180) 评论(0) 推荐(0)
UVA 11991 Easy Problem from Rujia Liu?
摘要:STL数据结构(vector,map)基本操作 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 int main (){10 int n,m... 阅读全文
posted @ 2014-08-04 10:27 gfc 阅读(162) 评论(0) 推荐(0)
UVA 11995 I Can Guess the Data Structure!
摘要:STL数据结构(queue,stack,priority queue)的基本操作; 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 8 9 int main (){10 int n;1... 阅读全文
posted @ 2014-08-04 09:20 gfc 阅读(116) 评论(0) 推荐(0)
UVA 10375 Choose and divide
摘要:n! 分解素因子 快速幂ei=[N/pi^1]+ [N/pi^2]+ …… + [N/pi^n]其中[]为取整ei 为数 N!中pi 因子的个数; 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespa... 阅读全文
posted @ 2014-08-01 17:59 gfc 阅读(167) 评论(0) 推荐(0)
UVA 11582 Colossal Fibonacci Numbers!
摘要:斐波那契数列。。。利用斐波那契数列的循环:因为结果%n,所以最多有n^2个数后会出现循环。预处理,不能直接用f[maxn][maxn^2]来保存,数组太大。。。所以用vector来保存斐波那契数列%n 的值。 1 #include 2 #include 3 #include 4 #includ... 阅读全文
posted @ 2014-08-01 16:07 gfc 阅读(197) 评论(0) 推荐(0)