- 博客(18)
- 资源 (3)
- 收藏
- 关注
转载 hdu 3746 Cyclic Nacklace
Cyclic NacklaceTimeLimit: 2000/1000 MS (Java/Others) Memory Limit:32768/32768 K (Java/Others)Total Submission(s): 5633 Accepted Submission(s): 2546Problem DescriptionCC always become
2016-04-28 14:49:39 193
原创 hdu 2069 Coin Change(母函数)
题意:给你50 25 10 5 1硬币各一些 问你组成某个数的不同方案数 但是注意 硬币的个数不超过一百个 所以这题要控制硬币的个数用二维数组控制AC代码:#include#include#includeusing namespacestd;inta[10005][105],b[10005][105];int f[6] ={0,1,5
2016-04-26 10:25:08 335
原创 hdu 2566 统计硬币
水题:硬币的个数确定为n 所以直接暴力就可以了#include int main(){ int t; scanf("%d",&t); while(t--) { int n,m,ans = 0; scanf("%d%d",&n,&m); for(int i = 0; i n; i++)
2016-04-26 10:22:00 253
转载 母函数算法入门
在数学中,某个序列的母函数(Generatingfunction,又称生成函数)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。使用母函数解决问题的方法称为母函数方法。母函数可分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数。对每个序列都可以写出以上每个类型的一个母函数。构造母函数的目的一般是为了解决某个特定的问题,因此选用何种母函数视乎序列本身的特性和问题的
2016-04-26 10:15:49 970
原创 hdu 1709 The Balance
母函数做法 有点特殊 每个砝码个数只有一个 并且还要计算差 AC代码#include #include #include #include using namespace std;int a[10001],b[10001];int main(){ int t; while(~scanf("%d",&t)) {
2016-04-26 10:11:59 219
原创 hdu1059 多重背包
题意就是给你价值从1到6的物体的个数求是否可以给他们平分用多重背包解决AC代码:#include #include #include #include using namespace std;int dp[120005];int w[120005],a[1000],b[1000];int max(int x,int y){ return x>y?x:y
2016-04-24 21:06:55 441
原创 hdu1114 Piggy-Bank
其实就是用完全背包罢了 但是我却因为数组开小了 超时了好几次 发现之后顿时感觉快崩溃了AC:#include #include #include #include #define INF 0x3f3f3f3fusing namespace std;int dp[100001];int t, p[500005], w[100005];int min(
2016-04-19 20:50:29 219
原创 hdu 1421 搬寝室
搬寝室Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23857 Accepted Submission(s): 8153Problem Description搬寝室是很累的,xhd深有体会.时间追述2
2016-04-18 10:25:38 167
原创 hdu2571 命运
简单的模拟即可。AC代码:#include #include #include #define INF -0x3f3f3f3fusing namespace std;int dp[1005][1005],map[1005][1005];int max(int x,int y){ return x > y?x:y;}int main(){
2016-04-13 20:43:54 183
原创 最大连续子序列和 HDU 1231 (时间复杂度为O(n))
最大连续子序列和最简单的想法就是枚举 但是一个一个枚举 时间有点长 下面介绍三种不同时间复杂度的算法1 O(n^3)for(int i = 0; i { for(int j = j; j { sum = 0; for(int k = i; k { sum+=map[k]
2016-04-13 20:00:06 319
原创 动态规划之01背包
给你n个物品,还有一个容量为v的容器,随后在给你n个物品的重量c和价值wF[i][j]表示把前i个物品放在容量为j的背包的最大价值然后根据第i件物品是否要放来决策 F[i-1][j]表示前i-1个物品放在容量为j的背包中的最大价值F[i-1][j-C[i]]+W[i]表示若是要放第i件物品 那么前i-1个物品所要用的背包容量为j-C[i]然后取两者的最大值即可
2016-04-13 16:35:47 226
原创 HDU1162Eddy's picture
点击打开题目链接最小生成树给出坐标x,y,计算出各店之间的距离 求最小生成树。#include #include #include #include #define INF 0x3f3f3f3fusing namespace std;double map[1001][1001], t, vis[1001],dis[1001];void prim(){ me
2016-04-13 10:13:58 250
原创 HDU 1301 Jungle Roads
点击打开题目链接哦。。。看着题目那么长 其实就是最小生成树。。。。把输出处理一下就可以了#include #include #define INF 0x3f3f3f3fusing namespace std;int map[50][50], vis[1000];int t;void prim(){ int sum = 0, min, k;
2016-04-13 10:09:29 212
原创 HDU1198Farm Irrigation(并查集)
点击打开题目链接首先我们用1和0来表示一块田的四个方向是否有管道 有的话就是1 没有就是0 比如:A 表示的就是1100 B表示的就是0110 以此这样表示在同一行我们只需判断当前这块田第三个字符和下一块田的第一个字符是否相等 并且都等于一 在同一列我们只需判断当前这块田第二个字符和下一块田的第四个字符是否相等并且都等于一列如:2 2DKHF转换后为
2016-04-12 16:37:31 242
转载 HDU 1181 变形课
点击打开题目链接点击打开文章原地址链接变形课Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 20146 Accepted Submission(s): 7247Problem Descript
2016-04-07 14:55:09 242
原创 HDU1180 诡异的楼梯
点击打开题目链接题意就是要从S点走到T点 问最少的步数一看题就知道应该用bfs难就难在如何判断当前楼梯的方向 可以用从起点到楼梯的步数来判断楼梯的方向如果从起点到楼梯的步数step%2==0 说明当前楼梯的状态与开始时是一样的 直接过就可以了 否则 则需要等一分钟但是在判断楼梯的同时也要判断过楼梯之后所到达的那个点是否访问过 访问过 则说明 有其他路径耗
2016-04-07 12:51:30 300
原创 HDU1026 bfs+优先队列
点击打开题目链接题目的意思就是说要从左上角走到右下角 总过花了多少时间 如果当前点是数字n 则需要在在这个店停留n秒这题并不难 难在后面的处理 细节问题 容易出错 特别注意 下面是我AC的代码:#include #include #include #include using namespace std;int go[4][2] = {{-
2016-04-06 15:49:09 258
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人