ACM
文章平均质量分 68
L_Ecry
不是这样的
展开
-
ZOJ Problem Set - 3715 Kindergarten Election
思路: 枚举当选时候的票数x。 则如果其他人所得的票数大于x则需要把他减少到x-1,减少的时候注意要选择需要糖果最少的。如果每人减少下来的加到1号上所得的票数已经超过x则该方案不可行。如果小于x则从全体中选出最小的 填满x。 要注意1号要把手中的票投给任何一个,所以的保证其他人中至少有一个得票数小于x-1. 代码: #include #include #include #include原创 2013-05-11 22:41:15 · 2297 阅读 · 4 评论 -
Problem 1612 Hero's gcd
题目大意就是要求下面的G: G=1; for(i=1;i<N;i++) for(j=i+1;j<=N;j++) G*=GCD(i,j); /* Here GCD() is a function that finds the greatest common divisor of the two input numbers */ 思路: 首先N最大为20000原创 2013-05-13 12:53:08 · 609 阅读 · 0 评论 -
HDU 4739 Zhuge Liang's Mines (2013 ACM/ICPC Asia Regional Hangzhou Online)
//由于构成的正方形的边要平行于坐标轴 当点数为25时正方形最多为24个 而题目n #include #include #include #include #include #define max(x,y) ((x)>(y)?(x):(y)) using namespace std; struct Tpoint { int x, y; vo原创 2013-09-15 22:42:56 · 736 阅读 · 0 评论 -
Codeforces 407C Codeforces Round #239 (Div. 1)C
题意:给出一个起始数组,有m个操作,每个操作能给 [l,r] 区间上的元素加上一个值 li ≤ j ≤ ri。 思路: 每次 操作 在 l的位置上 对应的位置加上 C[k][k] ,C[k][k-1]......C[k][0] 在最后统计的时候 在此次操作中 l+1 的元素加的值 C[k+1][k]=C[k][k]+C[k][k-1] l+2原创 2014-03-30 23:01:22 · 1031 阅读 · 0 评论 -
Codeforces 405E Codeforces Round #238 (Div. 2)E
题意:如上图所示,给定一个连通的无向图,每条边长度为1,把他的边划分成若干个长度为2的路径。 思路:若边的条数为奇数则不能划分。偶数则一定存在解。 1.对于一个点v,首先将与他相邻且还未被标记的边找出{u|(u,v)未被标记}。并将这些边标记。 2.对这些点递归进行找扩展的点,若能找到拓展的点w 则 输出 v u w,若不能找到,则将这些原创 2014-03-25 15:20:08 · 733 阅读 · 0 评论 -
HDU 4898 The Revenge of the Princess’ Knight ( 2014 Multi-University Training Contest 4 )
题意:给定一个环形字符串,让他把它分成k份,使得最大的字典序 最小。 思路:二分答案,首先很明显答案所有可能是 n*n种 排序可以先求出最长公共前缀,这样比较就只需要比较公共前缀的下一位就能比较出两种答案的字典序大小,这里公共前缀我用 (2*n)*(2*n) DP 求出 。(也可用后缀数组)。接下来就是判断了: 这里二分出来的答案就是字典序的上界,(对于没一个位置作为起点,长度越长字典原创 2014-08-03 15:04:33 · 522 阅读 · 0 评论 -
HDU5380 Travel with candy
思路:保持油箱的油一直是满的,到达每个城市之后,先将到达这个城市的花费减掉,这些消耗掉的应该是价格最低的,对于油箱中的油的价格如果比当前城市买入的价格更高的话就直接退出油箱(直接以购买的价格卖出 (这里的购买价格是会改变的) ),对于油箱中的油如果价格比当前城市卖出的价格低的话,那么可以将这些油的价格改成当前城市卖出的价格(可以想象成在当前城市全部卖出,然后以卖出的价格全部买回来),然后在这个城市原创 2015-08-14 23:07:49 · 831 阅读 · 0 评论 -
HDU 5406 CRB and Apple (2015 Multi-University Training Contest 10)
思路: 一、直接建图跑最小费用最大流,现场比的时候被卡了SPFA了。SPFA 要吧队列改成栈才能过,具体构图如下:每个点拆成2个点(1,-1) (前面表示流量,后面表示费用),然后吃完a能再吃b的话就连 一条a->b(1,0),每个点连向汇点(1,0),源点流向一个中间点 ss (2,0) 表示2个人走,ss流向每个人(1,0)。 二、建图图上进行dp ,dp[i][j]表示表示两原创 2015-08-21 10:51:53 · 1262 阅读 · 1 评论