- 博客(11)
- 收藏
- 关注
原创 poj 2229 (动态规划,找规律)
题意:求把一个整数分解为2的幂的和共有几种方案f(1) (1)f(2) (1 1) (2)f(3) (1 1 1) (1 2)f(4) (1 1 1 1)
2017-01-05 08:30:06 443
原创 poj 3176
题意:金字塔形的保龄球中从顶往下撞击,每次只能撞击左下或右下两个,求所有撞到得分的最高值(撞到一个球,就加上其代表的分数)。#includeint max(int a,int b) //求2个数的最大值{ return a>b?a:b;}int main(void){ int i,j,N,max1=0; i
2017-01-04 14:04:42 399
原创 poj 3262 贪心
题意:(翻译一遍)农夫J想要去砍树,留下N头牛,让他们吃草,当他返回的时候,使他焦虑的是 他发现那群牛正在吃他漂亮的花,为了使他接下来的 损失达到最小,他立刻采取行动,把牛赶回牛圈里。每头牛在距离牛圈Ti位置,而且,当牛在等待的时候,他每单位时间吃Di朵花,农夫J一次只能 赶一头牛,需要2*Ti时间(来回),问按照那种赶牛顺序可以使损
2017-01-03 15:51:07 499
原创 poj 1862 贪心
题意:从N个数任取两个数按2*sqrt(a*b)合成新数放回,求最后那个数的最小值。思路:贪心,每次取最大的2个数,计算结果后,再放回原来的数列中区,再排序,再取最大2个数,一直进行到只剩1个数#include#includedouble worm[111];void qsort(int l,int r) //快速排序 最好用优先队列(但是我不会用C写优先队列,C
2017-01-03 14:05:14 337
原创 poj 3040 贪心
题意:有n种面额的硬币。且面值大的一定能被面值小的整除。现告诉你每种面值硬币的个数。和一个值c。每周支出的钱必须大于等于c。问钱最多能用多少周。 #includetypedef struct //定义一个结构v表示coin的面额,而n表示v面额纸币的钱数。{ int v; int n;}Coin;Coin coin
2017-01-03 09:38:31 244
原创 poj 1017 装箱子问题
#includeint main(void){ int x1,x2,x3,x4,x5,x6,amount,x,y=0; //x1,x2,x3,.....代表1x1 ,2x2.....的箱子 while(~scanf("%d%d%d%d%d%d",&x1,&x2,&x3,&x4,&x5,&x6)) {
2017-01-02 20:41:09 404
原创 poj 2393
题意:一个奶牛场,第i个星期需要向外提供牛奶Yi升,第i星期生产牛奶的成本是Ci ,但是本星期提供的牛奶可以是前几个星期就生产好的的(放在仓库里,每单位升牛奶每周需要S元的成本费),问共N周,所花的最少费用。思路:可以把存储在仓库的费用转化成那周的成本。假设S=5,第2周成本C2=80,第5周生产成本C5=100,如果要计算第5周的花费,(假如第5周的牛奶是从第2周来的),那么第2周的成本可以
2017-01-02 16:23:35 266
原创 poj 2376(贪心加快排)
#includetypedef struct { int front,rear;}Cow;Cow cow[25050];int max(int a,int b){ return a>b?a:b;}void qsort(int l,int r)//快速排序,l代表要排列数据的最左端(left),r代表要排列数据的最右端(right)
2017-01-01 19:24:02 465
原创 poj 3050 Hopscotch
题意:给你一个5x5的方格,你可以在任意点开始,走5步(上下左右4个方向,可以往回走,和迷宫不一样),把你走的每个方格上的数字按你走方格的顺序排列好(共6个数字,起始点也有一个),求有多少种不同的排列方式。思路:把每一个点dfs一遍,求总数,其中6个数字的排列可以转化成一个6位数,储存在一个数组里(我用amount[100000]存的),N代表有多少中可能。#includeint
2017-01-01 17:14:08 407
原创 poj 3187
#include#includeint s[11],N,M,vis[11];int num[11][11];void dfs(int co){ int i,j; if(co==N+1) { for(i=0;i {
2017-01-01 16:06:30 342
原创 poj 2718(搜索+剪枝)C语言实现
题意:给你一串数字(不重复,且数字的个数在2-10之间),组成2个数字,求这2个数字差的绝对值的最小值,(其中不可以把0放在第一位比如一串数字0,2,4,5,不可以组成02,45这2个数。但可以组成20,45)思路:递归全排列。然后前后分成2部分,计算前后2部分大小和差值,再和min比较,如果小于,更新min的值。 剪枝(c++好像不用剪枝,直接用排列函数,暴力解就可以了,但是C不行)
2017-01-01 15:21:58 1326 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人