ACM_hdu
文章平均质量分 70
tintinsnowy
这个作者很懒,什么都没留下…
展开
-
hdu 1213 并查集入门
题目链接:点击打开链接题目fen原创 2014-04-24 21:00:21 · 612 阅读 · 0 评论 -
hdu 4737 (A Bit Fun) 异或
题目链接:点击打开链接题目大意:对于一串数,不同的位置取或,使其最终答案小于m题目分析:暴力+剪枝就过了= =。#include#include#include#include#include#include#include#define maxn 100005using namespace std;__int64 a[maxn];int n;__int原创 2013-09-14 19:41:50 · 1211 阅读 · 0 评论 -
hdu 1848【博弈】sg函数应用
题目链接:点击打开链接题目叙述:变形的nim,每次拿都为fibonacci数(但是从1,2,3,5,开始)一共三堆; 根据理论:2. If G = G1 + G2 and v = (v1; v2) 2 V1 £ V2, then g(v) is the bitwise XOR, or nim-sum,of the binary representations原创 2014-02-10 17:35:29 · 597 阅读 · 0 评论 -
hdu 4764(stone) 巴什博弈
题目链接:点击打开链接、题目大意:T和J,轮流写数字,前面一个人写x那么后面一个人写y 要使得1=n则输了题目分析:博弈(bash game),转化。考虑你n-1的情况。如果某人在n-1处了,则另一个人必输。变为n-1个石头,每人轮流拿。 每次都不为空的,拿不超过k。 如果m%(k+1)==0,对于每次T拿,都原创 2013-09-28 20:34:11 · 1719 阅读 · 1 评论 -
hdu 2199 解方程(二分法)
题目链接:点击打开链接题目分析:二分法求值。题目总结L:这类问题代码越简单越好,一次性过不要打补丁#include#include#include#include#includeusing namespace std;double ans,s,t,mid,y;void solve(double s,double t,double y){ double t原创 2013-12-22 14:28:49 · 809 阅读 · 0 评论 -
【mark】最长公共子序列(poj 1458+hdu 1159)
经典的问题,在各大博客上有数不清的好帖子下面为最常见的n^2算法#include#include#include#include#includeusing namespace std;int f[500][500];char x[500],y[500];int solve(int a,int b){ int i,j; memset(f,0,size转载 2014-01-03 19:46:59 · 790 阅读 · 0 评论 -
hdu 2544(Dijkstra)
题目链接:点击打开链接题目分析:Dijkstra的简单应用,给出源点(1号节点)和目的地(n号节点),求出最短路径,自己结合教材YY的代码 #include#include#include#include#define INF 0x3f3f3fusing namespace std;int grid[105][105],a原创 2013-12-04 15:37:02 · 598 阅读 · 0 评论 -
hdu 2089(不要62)数位DP
题目链接:点击打开链接题目大意:在给定的n和m之间 不含4和62(连续)的数目题目分析:打表应该可以过,毕竟只有10^7,但是一旦大的惊人就无法保证了 参考资料:点击打开链接 需要统计区间【l , r】 可以 换成【0,r】-【0,L)! 用数组 f原创 2013-12-06 21:45:25 · 609 阅读 · 0 评论 -
hdu 1800 flying to the Mars(BKDR Hash)
题目链接:点击打开链接题目大意:一列 数串(likely more than 30 digits),分成几组,每组都是严格单减顺序。题目分析:分析到最后,其实就是找重复最多的数就是组数,但是数的范围差别太大,一定对数进行处理。 接触到BKDR hash 先写借鉴大神的博客点击打开链接 #include#include#include#in原创 2013-11-20 09:45:58 · 1075 阅读 · 0 评论 -
HDU 2149(public sale)
题目链接:点击打开链接题目分析:BASH GAME。对于m m>n时,如果m%(n+1)==0时,后手一定赢。 如果m%(n+1)!=0则,先手可以拿走m%(N+1)代码如下,欢迎斧正#include#include#include#include#include#include#in原创 2013-09-29 11:23:16 · 600 阅读 · 0 评论 -
hdu 1846 博弈
题目链接:点击打开链接题目分析:典型的巴什博弈。相关链接:点击打开链接#include#include#include#include#include#include#includeusing namespace std;int main(){ int n,k,t; scanf("%d",&t); while(t--) {原创 2013-09-28 20:50:37 · 616 阅读 · 0 评论 -
hdu 1443 joseph (约瑟夫环模拟)
先介绍下约瑟夫环的背景:点击打开链接题目大意:k个人好人,k个坏人站成一列,要让前k次杀死的都是坏人,求这个m_th最小是多少题目分析:这个题目的模拟很有意思,从k+1开始枚举,代码很清晰 如下:#include#include#include#includeusing namespace std;int res[16];int solve(int k){原创 2014-03-01 11:26:10 · 793 阅读 · 0 评论 -
hdu 4704--sum(多校赛第十场)快速幂
题目地址:点击打开链接题目大意:很容易得到2^(n-1)%M题目分析:由于n非常大,所以想办法1.第一个方案就是想起FZU 1759点击打开链接原创 2013-08-23 11:22:59 · 742 阅读 · 0 评论 -
HDU 1395(快速幂模板)
#include #include #include #include #include using namespace std;typedef long long ll;ll pow(ll a,ll b,ll r){ ll ans=1,buff=a; while(b) { if(b&1) ans = (ans*buff)%r;原创 2014-03-16 11:03:56 · 621 阅读 · 0 评论 -
HDU-1002 A + B Problem II Java大数
A + B Problem IITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 123322 Accepted Submission(s): 23706Problem DescriptionI have原创 2014-04-07 21:43:26 · 607 阅读 · 0 评论 -
hdu 4278(Faulty Odometer)
题目链接:点击打开链接题目分析:昨天队里用的模拟方法= =,不过看board,有人一分中秒杀,后来才发现是poj 2719改编 特殊的八进制代码:#include#include#includeusing namespace std;typedef long long __int64;__int64 ans;char dat原创 2013-09-02 10:12:03 · 774 阅读 · 0 评论 -
HDU 1013(数学?数串)
题目地址: #include#include#include#include#include#includeusing namespace std;int main(){ char m[1000],len,ans; while(scanf("%s",m)!=EOF) { len=strlen(m);原创 2014-04-03 21:41:16 · 573 阅读 · 0 评论 -
hdu 2674(想法+数学)
这题要计算的是N!%2009,0思路:从1开始累乘,直到乘到因子为N为止,并且在相乘过程中,每相乘一次都mod2009,这样做和把所有1---N因子都乘完后再mod2009结果是一样的。原因在于每个数都能分为除以2009后的商部分和余数部分。用这个数乘以n,和用这个数除以2009的商乘以n以及余数乘以n,效果完全一样。商乘以n的部分任然是下一个数商部分;而余数乘以n的部分如果大于200原创 2014-04-03 21:55:54 · 723 阅读 · 0 评论 -
hdu 1005(找规律--循环节)
题目链接:点击打开链接题目大意:A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, and n, you are to calculate the value of f(n).题目分析:一般原创 2014-04-01 21:53:36 · 750 阅读 · 0 评论 -
HDU 2256(矩阵快速幂)
题目链接:题目分析:之前用库函数 fmod(x,mod),然后就wa,毕竟用double来取膜的确是不可能的然后参考大神的代码过了。#include#include#includeusing namespace std;const int N=2;const int MOD=1024;struct Matrix{ int mat[N][N];转载 2014-03-20 22:03:02 · 605 阅读 · 0 评论 -
【树状数组】HUD1556 区间修改单点求值
题目链接:原创 2014-05-01 12:06:19 · 716 阅读 · 0 评论 -
hdu 1754(I hate it) 线段树
题目链接:点击打开链接题目分析:非常好的模板题,适合入门,操作包括,区间询问,区间更改。需要注意的是数组的大小相关链接学习:点击打开链接#include#include#include#includeusing namespace std;#define maxn 200005#define infint n,m,a,b,c=0;int MAX[maxn<<原创 2013-10-18 10:19:30 · 606 阅读 · 0 评论 -
HDU 1249 三角形(递推)
题目链接:点击打开链接题目分析:ACM中数学类题目,要么是结论性的,要么就是递推,所以先画几个图形看看 n=1 ----------> face =2; n=2 -----------> face =8; n=3 -----------> face =20;每条边最多与原创 2014-03-31 21:00:54 · 642 阅读 · 0 评论 -
hdu 1222 (数论+递推)
题目链接:点击打开链接题目分析:一开始以为只要n%m就可以但是明显错误 m=6,n=8;仍然可以,顿悟如果mn有公约数,那么在循环过程中距离差距会是固定的,但是如果差距不固定(公约数为1)那么不行。 貌似hdu上 %lld->%I64d long long->__int64 #include#include#include#原创 2014-03-27 21:37:08 · 605 阅读 · 0 评论 -
HDU1018 (最小公倍数)
#include #include #include #include #include using namespace std;int gcd(int n,int m){ return m==0 ? n:gcd(m,n%m);}int lcm(int n,int m){ if(n<m) swap(n,m); return n/gcd(n,m)原创 2014-03-16 10:35:18 · 724 阅读 · 0 评论 -
hdu 2602 Bone Collector(0 1 背包简单入门)
题目链接:点击打开链接资料链接:1.点击打开链接 1.整理如下:动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描述一个最优解的结构,寻找子问题,对问题进行原创 2013-09-27 21:30:31 · 728 阅读 · 0 评论 -
hdu 4466 Triangle
题目链接:点击打开链接题目大意:将长度为n的截为1.全部全等的三角形2.都是完整的。问不同的方法有多少种题目分析:参考大神的方法:推荐->点击打开链接 首先我们考虑周长为m的三角形有多少个我们假设 a这里分为两种情况 b=c那么对于c的上界,c最大取floor((x-1)/2),因为a最少为1对于c的下界,c最原创 2013-09-20 20:02:06 · 594 阅读 · 0 评论 -
hdu 1527(威佐夫博弈)
题目链接:点击打开链接题目分析:裸运用题目小结:floor()函数!!,没用差一点错了#include#include#include#include#includeusing namespace std;int if_odd(int a,int b){ int j=b-a; if(a==floor(j*(sqrt(5.0)+1.0)/2.0))原创 2013-09-30 21:49:20 · 688 阅读 · 0 评论 -
hdu 1720(ACM steps 1.2.2)A+B coming
题目描述A+B ComingTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4554 Accepted Submission(s): 2917Problem DescriptionMany classm原创 2013-08-14 14:25:19 · 1067 阅读 · 0 评论 -
hdu 1038(ACM steps 1.2.1)Biker's Trip Odometer
题目描述:Biker's Trip OdometerTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2848 Accepted Submission(s): 1263 Problem原创 2013-08-14 14:06:49 · 757 阅读 · 0 评论 -
hdu 1219(1.2.8)
题目描述:AC MeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3515 Accepted Submission(s): 1235 Problem DescriptionIgnati原创 2013-08-15 20:52:03 · 752 阅读 · 0 评论 -
hdu 1061
#include#include#includetypedef long long __int64;__int64 origin;int num[10];char n[20];int main(){ int t,len,tmp,digit,count,j,i; scanf("%d",&t); while(t--) { scanf原创 2013-08-28 11:18:18 · 550 阅读 · 0 评论 -
hdu 1280(前m大的数)
题目链接:点击打开链接题目分析:水题自己的代码,暴力,268MS#include#include#include#includeusing namespace std;int data[3005];int sum[5000000];int cmp(int a,int b) {return a>b ;}int main(){ int n,m,i,j,原创 2013-08-28 09:44:42 · 547 阅读 · 0 评论 -
hdu 1049(1.2.3)
题目描述:Climbing WormTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2562 Accepted Submission(s): 1516 Problem Description原创 2013-08-14 19:58:20 · 744 阅读 · 0 评论 -
hdu 1062(1.2.4)
Text ReverseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13281 Accepted Submission(s): 5067Problem DescriptionIgnatius likes t原创 2013-08-14 20:03:41 · 599 阅读 · 0 评论 -
hdu 2095(1.2.5)
题目描述:find your present (2)Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/1024 K (Java/Others)Total Submission(s): 4105 Accepted Submission(s): 1224 Problem Desc原创 2013-08-14 20:10:39 · 757 阅读 · 0 评论 -
hdu 1789( 贪心法)
题目链接:点击打开链接题目大意:在deadline内完成作业,要求惩罚的分数最少题目分析:一开始的贪心,贪错了,后来想用栈+替换,结果很搓;后来参考了下人家的做法 将惩罚的分数最高的放在前面,分数相同将deadlie 小的在前面,惩罚分数小的以自己的时间为尾向前探寻,一旦有“空位”就如坐 #include#include#include原创 2013-08-27 20:30:41 · 670 阅读 · 0 评论 -
hdu 4705 Y(多校赛第十场)
题目链接:点击打开链接题目大意:在一树上的点集合『a,b,c』,使得没有simple path分析:正向分析貌似很多种情况啊,所以想反面。 小菜鸟一枚啊,所以第一次T了啊TT。 这种DFS太暴力了,怎么会不T??附上代码,以示警告。参考了下大神的代码,点击打开链接仍用DFS,这次将3点看为一条线上的枚举中间这个点,但是原创 2013-08-23 20:57:08 · 719 阅读 · 0 评论 -
hdu 2063(过山车)
题目链接:点击打开链接题目分析:二分图最大匹配资料链接:陈队长的推荐下看了大牛的博客,终于明白了,经典的模板题 点击打开链接include#include#include#includeusing namespace std;#define maxn 510int k,m,w;int match[maxn][maxn];int left[maxn原创 2013-08-30 08:42:36 · 569 阅读 · 0 评论 -
hdu 3853(LOOPS)->概率dp2
题目链接:(oj挂了= =)题目分析:和上次一样很容易分析得到状态转移方程,从后向前写题目反思:1.一开始sab了,直接写dp[i][j]=dp[i][j] *d.self+dp[i][j+1]*d.right+dp[i+1][j]*d.down; 原来要移项 2.注意d。self==1时原创 2013-09-07 15:44:50 · 676 阅读 · 0 评论