
HDU
文章平均质量分 72
GooMaple
这个作者很懒,什么都没留下…
展开
-
HDU 4415 Assassin’s Creed
杭州网络赛的题,可以假设杀掉一个敌人后,剑落在地上,以后还可以捡起来,这样问题就可以简化不少。/** 贪心题,俩种方式,一种优先考虑bi不为0的情况,因为这样可以造成不消耗耐久连续杀人;一种优先考虑,bi为0的情况,比如特殊数据:input:5 81 02 02 03 06 1output:4 83 7 或 3 8(为错误答案)只考虑bi为0的个体,比先考虑原创 2012-09-25 11:52:17 · 2036 阅读 · 0 评论 -
HDU 4190 - Distributing Ballot Boxes
贪心+二分,最大值最小化问题。利用投票箱b的值是一定的,将投票数进行二分,使得算出的投票箱数始终为b。代码如下:#includeint city[500001];int main(){ int n, b; while(scanf("%d%d", &n, &b)) { int Max = 0, l, r, mid; if(n=原创 2013-02-07 18:13:32 · 877 阅读 · 0 评论 -
HDU 1850 - Being a Good Boy in Spring Festival
Nimm博弈,需要统计可行方案的个数。代码如下:#include #include #include #include using namespace std;int ways[102];int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int m; while(scanf原创 2013-05-04 14:20:29 · 849 阅读 · 0 评论 -
HDU 2149 - Public Sale
巴什博奕。(1)如果m>n,则先行者第一次取n~m之间任意数都能保证其必胜。(2)如果n%(m+1)==0,则必败。(3)如果n%(m+1)!=0,则第一次先行者必须拿n%(m+1)个,才能保证必胜。代码如下:#include #include #include #include using namespace std;int ways[102];int main(原创 2013-05-04 15:21:57 · 785 阅读 · 0 评论 -
HDU 1849 -Rabbit and Grass
纯Nimm博弈,不过比较难看出来。#include #include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int m, n; while(scanf("%d", &m) && m)原创 2013-05-04 16:10:37 · 1140 阅读 · 0 评论 -
HDU 1527 - 取石子游戏
裸威佐夫博奕。证明见:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530。代码如下:#include #include #include #include #include using namespace std;double eps = 1e-9;int main(){#ifdef test freop原创 2013-05-04 16:59:16 · 878 阅读 · 0 评论 -
HDU 2147 - kiki's game
博弈,简单推一下必败点与必胜点,可以看出奇偶规律。代码如下:#include #include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int n, m; while(scanf("%d%原创 2013-05-04 12:14:51 · 942 阅读 · 0 评论 -
HDU 1851 - A Simple Game
巴什博奕和Nimm博弈的组合版。代码如下:#include #include #include #include using namespace std;int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int c, n, m, num; scanf("%d", &c);原创 2013-05-04 15:37:33 · 938 阅读 · 0 评论 -
HDU 1907 - John
n堆石子,最后一个取完的人输。Nimm博弈,全是1的时候,特判,数1的个数,奇数输,偶数赢了。证明过程见:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530代码如下:#include #include #include #include using namespace std;int main(){#ifde原创 2013-05-04 16:33:20 · 1618 阅读 · 0 评论 -
HDU 1846 - Brave Game
巴什博奕。代码如下:#include #include #include #include using namespace std;bool ways[1002];int main(){#ifdef test freopen("input.txt", "r", stdin);#endif int c, n, m; scanf("%d", &c);原创 2013-05-04 11:42:06 · 806 阅读 · 0 评论 -
HDU 1847 - Good Luck in CET-4 Everybody!
巴什博奕。代码如下:#include #include #include #include using namespace std;bool ways[1002];int vis[10] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512};int main(){#ifdef test freopen("input.txt", "原创 2013-05-04 11:54:26 · 1242 阅读 · 0 评论 -
HDU 2199-Can you solve this equation?
函数单调增,二分做。代码如下:#include #include #include #include #include using namespace std;double fx(double x){ return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;}int main(){#ifdef test freopen("input.原创 2013-05-21 16:10:17 · 1100 阅读 · 0 评论 -
HDU 1218 - Blurred Vision
简单模拟,题意有点难懂,实际就是给你一个 r*c 的矩阵,让你转化为一个(r-1)*(c-1)的矩阵,新矩阵中每个点的值为以其左上角为起点的四节点小矩阵之和的平均值。代码如下:#include #include int main(){ int r, c; char image[10][10], str[10]; while(scanf("%s", str)原创 2013-02-07 18:11:17 · 1054 阅读 · 0 评论 -
HDU 1269 - 迷宫城堡
有向图的强连通图分量,Tarjan算法,模板题。代码如下:#include#include#include#include#include#include#includeusing namespace std;const int Maxn = 10002;const int MAX = 100002;vector G[MAX];int pre[MAX], low原创 2013-01-29 22:19:14 · 674 阅读 · 0 评论 -
HDU 1039 - Easier Done Than Said?
字符串水题,只要条件判全就能过。代码如下:#include#include#include#include#includeusing namespace std;bool Judge_Vowel(char ch){ if(ch=='a'|| ch=='e' || ch=='i' || ch=='o' || ch=='u') ret原创 2013-01-29 22:40:06 · 582 阅读 · 0 评论 -
HDU 4403 A very hard Aoshu problem
回溯,两个数字之间标记0,1,最后将标记1的位置放‘+’号,‘0’的位置处两边数字合成一个数,最后将每两个数之间放等号,检查是否相等。代码如下:#include #include #include #include #include #include using namespace std;int len, num[16], vis[16], cct;char a[16原创 2012-09-25 12:08:51 · 1027 阅读 · 0 评论 -
HDU 4070 Phage War
Phage WarTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 721 Accepted Submission(s): 382Problem DescriptionPhage War is a lit原创 2012-08-12 09:54:27 · 1122 阅读 · 0 评论 -
HDU 3714 Error Curves
Error CurvesTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 860 Accepted Submission(s): 322Problem DescriptionJosephina is a原创 2012-08-04 20:44:27 · 1972 阅读 · 1 评论 -
HDU 3641 Treasure Hunting
Treasure HuntingTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1321 Accepted Submission(s): 403Problem DescriptionZstu_yhr i原创 2012-08-06 19:29:31 · 782 阅读 · 0 评论 -
HDU 3650 Hot Expo
Hot ExpoTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 886 Accepted Submission(s): 423Problem DescriptionSunny wants to go t原创 2012-08-06 19:36:38 · 773 阅读 · 0 评论 -
HDU 3699 A hard Aoshu Problem
A hard Aoshu ProblemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 62768/32768 K (Java/Others)Total Submission(s): 345 Accepted Submission(s): 173Problem DescriptionMath Ol原创 2012-08-12 09:44:53 · 1770 阅读 · 0 评论 -
HDU 4278 Faulty Odometer
统计从1~n除去含有‘3’‘8’数字外所有的数字的个数。可以分别统计出每加10,每加100,每加1000...中含有多少个含有数字‘3’‘8’的数字的个数(开头数字为‘3’‘8’的特殊处理),最后全部加起来,再用n减去它,就是1~n不含数字‘3’‘8’的个数。代码如下:#include #include #include #include #include #include原创 2012-09-09 20:42:55 · 1429 阅读 · 0 评论 -
HDU 3711 Binary Number
Binary NumberTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 472 Accepted Submission(s): 313Problem DescriptionFor 2 non-nega原创 2012-08-04 20:58:52 · 1525 阅读 · 0 评论 -
HDU 1735 - 字数统计
贪心,只要开头有两个0,则需要判断其上一行最后有多少个连续的0,按上一行最后处0的数量由大到小排序(因为要令破坏字数最小,因此需要令其可转换为1(即可确定的字数)的0的数量最大)。最后特殊处理一下,第一行开头和最后一行结尾的0即可。代码如下:#include#include#include#include#includeusing namespace std;int me原创 2013-02-02 22:56:37 · 1230 阅读 · 0 评论 -
HDU 1518 - Square
使得给出的若干木棍可以拼出正方形,搜索回溯,注意剪枝。代码如下:#include#include#include#include#includeusing namespace std;int num, lenth;int a[21], cct;bool vis[21], flag;int cmp(const void *x, const void *y){原创 2013-02-02 22:45:33 · 799 阅读 · 0 评论 -
HDU 1717 - 小数化分数2
整数化小数,不循环的小数容易化。对于循环小数化分数原理如下:⑴ 把0.4747……和0.33……化成分数。例1: 0.4747……×100=47.4747…… 0.4747……×100-0.4747……=47.4747……-0.4747……(100-1)×0.4747……=47即99×0.4747…… =47 那么 0.4747……=47/99例2原创 2013-01-30 10:50:58 · 2008 阅读 · 0 评论 -
HDU 2899-Strange fuction
凹函数求极小值,三分。代码如下:#include #include #include #include #include using namespace std;double fx(double x, double y){ return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;}int main(){#i原创 2013-05-21 17:09:07 · 905 阅读 · 0 评论