自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Cow Bowling(POJ, 3176, 基础dp)

题目链接#include#include#includeusing namespace std;const int MAX_N = 355;int N, num[MAX_N][MAX_N], dp[MAX_N][MAX_N];void init(){ memset(dp, 0, sizeof(dp)); for(int i=1; i<=N; i++){ for(i

2017-12-19 21:13:39 265

原创 *Allowance(POJ 3040, 贪心)

题目链接       题目大意:FJ每周给Bessie最少C,FJ有各种面值的钱各多少,求最多能支付多少周。       解题思路:从大到小凑近或等于C但不能等于,然后从小到大凑够C(等于或大于C)。/*大于C的coin每周一个发给Bessie就好了 小于C的: 从cent最大的开始取,凑近C但不能等于C 从cent最小的开始取,等于或大于C */#inclu

2017-12-19 21:00:22 304

原创 *Protecting the Flowers(POJ 3262, 贪心)

题目链接       题目大意:牛在花园里吃花,牛i每分钟吃花Di,牵走牛i再回来的时间为2Ti,求最小损失花数。#include#includeusing namespace std;const int MAX_N = 100005;struct cow { int T, D;} a[MAX_N];int N, rest_D;long long ans;bool

2017-12-19 20:53:19 284

原创 Stripies(POJ 1862, 贪心)

题目链接       题目大意:有一种生物两个遇到后会合成一个质量为2sqrt(m1*m2),给你一些这种生物的质量,问合成的最小质量为多少。       解题思路:质量大的先被拿来合成       #include#include#includeusing namespace std;const int MAX_N = 105;int N;double ans;i

2017-12-19 20:45:31 411

原创 Packets(POJ 1017, 贪心)

题目链接               题目大意:有sizes 1*1, 2*2, 3*3, 4*4, 5*5, 6*6的packet和size 6*6的parcel,告诉你各种size的packet有多少,问最少能用几个parcel放下所有的packet。        学了一招:(p[3]+3)/4#includeusing namespace std;int ans,

2017-12-19 20:22:14 302

原创 Yogurt factory(POJ 2393, 贪心)

题目链接      这个题就比较简单了,算是我做的最快的几个题之一了,不过还是WA了一次,因为看到“Note that the total might be too large for a 32-bit integer.”后,我果断使用了long类型而忘了long也是32位,还好我很快就反应过来了,不然又要浪费时间去检查代码了。/*i周的per unit of yogurt的最低成本为b[

2017-12-07 20:03:30 332

原创 Stall Reservations(POJ 3190, 贪心)

题目链接       我感觉我该去看紫书研究研究STL了,不知道的东西太多了,不会优先队列的话应该是做不了这个题吧,因为既在按开始时间排序之后判断每个cow是否需要新的stall或者说需要用哪个stall的时候需要找之前的cow中B最早的,自己找的话貌似只能用复杂度很高的方法吧,而优先队列插入数据的复杂度为O(lgn),删除数据的复杂度为O(1),这里n的最大值即stall的最大数,而stal

2017-12-06 14:56:33 224

原创 Radar Installation(POJ1328, 贪心)

题目链接       这个题的解题思路是这样的:       if (y > d)     输出-1就行了       else       1.计算区间(端点为x ± sqrt(d*d - y*y),表示在这个区间上建雷达能够覆盖到该岛)       2.排序       无论是按左端点升序还是右端点升序排还是按坐标x升序排(按x排的话要排完序再计算区间,具体可看代码)都

2017-12-04 12:02:50 306

原创 Cleaning Shifts(POJ 2376, 贪心)

题目链接       选择开始shift为1的那个cow作为第一个(若没有开始shift为1的print-1),找开始shift小于等于这个cow结束shifit+1,结束shift最大且大于上一个cow的结束shift的那个cow作为第二个cow,ans++(若未找到结束shiift大于上一个cow结束shift的cow,print -1),以此类推,直到最后一个cow或者已能覆盖到第T个s

2017-11-29 21:27:41 361

原创 Hopscotch(POJ, 穷竭搜索)

题目链接       通过此题了解到了set这么个东西。此题很简单,就不多说了。#include#include#define buyuejue 0<=ny && ny<5 && 0<=nx && nx<5using namespace std;int grid[10][10];int dy[4] = {-1, 1, 0, 0};int dx[4] = {0, 0, -1,

2017-11-21 17:10:54 303

原创 Backward Digit Sums(POJ 3187, 穷竭搜索)

题目链接       利用next_permutation函数排列,对于每种排列求出最终的那个和然后判断是否与Input中的final sum相等,若相等,输出此种排列即可。#include#includeusing namespace std;int N;int sum;int digit[15];int a[15];void ini(){ scanf("%d%d"

2017-11-21 17:02:39 219

原创 Smallest Difference (POJ 2718, 穷竭搜索)

这个题有两种做法:1.使用next_permutation穷举 2.贪心法       这道题让我发现了一个问题,执行pow(x,y)这个函数就这么费时间么···       因为这个题在书中属于穷竭搜索的练习题,这里就不说贪心法怎么做了。解题思路就是排列,然后分成两组数,计算差。其实非常无脑,但是我提交了很多遍都TLE。。。直到我看了一下别人写的代码,发现在将一组数字组合成一个多位数时别

2017-11-19 13:37:02 375

原创 Meteor Shower (POJ 3669,广度优先搜索)

题目链接       首先解释一下,我在第一篇文章说要写全部练习题来着,但是AOJ的题我并没有写,原因当然是并不能看懂日语...so,我就不做AOJ了。       好了,进入正题。       这个题我是自己没有做出来的,然后上网查的。难点并不在于bfs本身,而在于我一开始打算动态的改变地图,在时间变化的同时修改哪个点可移动,哪个不可移动,这样的话就需要用时间作为索引来寻找坐标,于是

2017-11-06 22:09:28 383

原创 Curling 2.0 (POJ 3009, 深度优先搜索)

题目链接       这道题就显得有些复杂了(我感觉挺有难度,可能是我太菜了0.0),光读题就读了一会。       判断四个方向能否移动,若能移动,对移动后的情况进行处理,包括1.遇到终点的情况:  将此时移动的步数与之前的最小步数比较,若步数更少,重置最少步数min的值

2017-11-02 11:06:59 278

原创 Red and Black (POJ 1979,深度优先搜索)

题目链接       这道题和前面的例题Lake Couting十分相似。只需判断四个方向上是否为'.',若为'.',移动过去并将这个'.'改为'#',移动的次数加一即为答案。本题比较简单,就不多说了。#include const int MAX_W = 20;const int MAX_H = 20;int W, H;char t[MAX_W][MAX_H];int dx[4

2017-11-02 10:13:32 243

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除