白书
xiayucc
这个作者很懒,什么都没留下…
展开
-
POJ 3176 Cow Bowling
题意:有一个n行的矩阵,第一行有一个数,每一行比上一行多一个数,从第一行开始,可以加左下或右下的数,问到最后一行的结果最大是多少。 思路:虽然是dp专题,但是还是比较像是贪心。遍历每一个数,更新其值为自身加上左上和右上中的最大值,最后比较最后一行的最大值得出答案。 代码: #include<iostream> #include<algorithm> #include<...原创 2020-03-18 09:46:58 · 83 阅读 · 0 评论 -
POJ 3262 Protecting the Flowers
题意:有n头牛,赶每头牛回去和赶回来的时间是Ti,留下的每头牛每分钟会吃Di的草,每次只能赶一头牛,问最少会吃多少的草。 思路:每次赶牛回去,留下的牛会吃掉所有牛的Di和乘上赶这头牛回去的时间的两倍,所以要让Di大,Ti小的牛先被赶回去,即按照Di/Ti从大到小排序。 代码: #include<iostream> #include<algorithm> #include&l...原创 2020-03-17 23:30:34 · 123 阅读 · 1 评论 -
POJ 2393 Yogurt factory
题意:有一家酸奶场,每周可以用C_i的价格产生一个单位的酸奶,每周要供应Y_i单位的酸奶,酸奶保存一周要s的价格,问最少要多少钱能满足每周提供要求的酸奶。 思路:按照每周每单位酸奶最少的价格,贪心求出答案。 代码: #include<iostream> #include<algorithm> #include<stdlib.h> #include<math...原创 2020-03-13 23:19:48 · 89 阅读 · 0 评论 -
POJ 2376 Cleaning Shifts
题意: 有n个区间,要选择最少的区间使区间包含1—T中所有的数。 思路:用结构体存储区间的左值和右值,先按照开始时间从小到大排,开始时间一样的时候按结束时间从大到小排。 代码: #include<stdio.h> #include<stdlib.h> #include<iostream> #include<algorithm> using names...原创 2020-03-10 22:42:56 · 54 阅读 · 0 评论 -
POJ 3050 Hopscotch
题意:有一个5*5的矩阵,一共25个数,都是一位,每个位置可以上下左右四个方向走,可以走过去再走回来,问一共有多少种不同的长度为6的数字顺序(如111211)这样。 思路:对每一个位置进行dfs,用string记录数字顺序,用map标记。 代码: #include<iostream> #include<map> #include<string.h> using ...原创 2020-03-04 10:31:36 · 83 阅读 · 0 评论 -
POJ 3187 Backward Digit Sums
题意:给定n和sum,使得1-n的n个连续的数字排列后,每相邻两个相加直到只剩一个数的时候,这个数等于sum,要求输出最小的字典序的答案。 思路:先预处理出杨辉三角形的矩阵,然后对1-n这n个数全排列,计算是否等于sum,等于就可以直接输出答案了。 代码: #include<iostream> #include<algorithm> using namespace std;...原创 2020-03-04 01:21:34 · 98 阅读 · 0 评论 -
POJ 3009 Curling 2.0
题意:有一个小球,从2开始,要滚到3,。1表示障碍,0表示通行,当小球滚动时碰到障碍就会停下并且击碎障碍,这样是一次滚动,问小球最少要滚动多少次能到达目的地3。滚动次数超过10输出-1。 思路:dfs+回溯。往四个方向,碰到1的时候就接下去dfs,把碰到的1标记成0,。碰到3的话就取滚动次数小的答案。 他的输入是先输入列,再输入行,一开始看错了,一直WA。 代码: #include<iost...原创 2020-02-27 22:23:12 · 138 阅读 · 0 评论 -
poj 3669 Meteor Shower
题意: 一个人从原点出发,可以在第一象限(包括原点)活动,有M颗陨石,每颗陨石输入一个x,y,time,表示陨石砸落的地点坐标和时间,在这个坐标的上下左右也会被摧毁,摧毁后的路就走不通了,问能不能找到一个安全的地点,输出找到这个地点的最短时间,找不到输出-1。 思路:先将所有陨石落点及其四周更新为最早被摧毁时间,然后开始bfs找到最短时间到达安全地点。 代码: #include<iostre...原创 2020-02-20 15:56:24 · 106 阅读 · 0 评论 -
Aizu 0558 Cheese
题意: 今年JOI镇的干酪工厂也开始生产干酪,老鼠从窝里爬了出来。JOI町东西南北划分整理,各划分为蜂巢、干酪工厂、障碍物、空地中的任意一个。老鼠从窝里出发,去所有的干酪工厂吃干酪。 这个镇上有N家干酪工厂,每个工厂只生产一种干酪。奶酪的硬度根据工厂不同而不同,恰好有一个奶酪工厂生产硬度从1到N的奶酪。 老鼠最初的体力是1,每吃一个奶酪体力就增加1。但是,老鼠不能吃比自己的体力更硬的奶酪。 老鼠可...原创 2020-02-20 10:56:37 · 129 阅读 · 0 评论 -
Aizu 0118 Property Distribution
题意: 一个nm的矩阵,有 ‘#’、’@’、’’ 三种符号,分别表示3种不同的果树。上下左右相邻的算是一个区域,不同果树不能在同一区域,问有多少区域。 思路: dfs,每个未标记的点都dfs一遍,将搜过的点都标记一下。 代码: #include<bits/stdc++.h> using namespace std; int vis[110][110]; string s[110]; i...原创 2020-02-17 12:03:34 · 75 阅读 · 0 评论 -
poj1979 Red and Black
题目描述: 给定一个n*m的图,由 ‘#’、’.’、’@’ 组成。’#’ 表示阻碍,’.’ 表示空地,’@’ 表示起点。可以往上下左右的空地走,问最多能经过多少空地。 思路: dfs,只要从起点开始每个点上下左右往下搜,走过的点标记一下就好了。 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; ...原创 2020-02-16 23:02:39 · 130 阅读 · 0 评论