[Codeforces 864E]Fire】的更多相关文章

Description Polycarp is in really serious trouble — his house is on fire! It's time to save the most valuable items. Polycarp estimated that it would take tiseconds to save i-th item. In addition, for each item, he estimated the value of di — the mom…
题目链接 Fire 题意 有n个物品,每个物品的挽救时间代价为ti, 消失时刻为di, 价值为pi. 如果要救某个物品,必须在他消失之前救出来. 同一时刻最多只能救一件物品. 当前耗时为当前已经救出的物品的ti累积. 你需要救出总价值尽可能大的物品,并输出方案. 考虑DP f[i][j]为考虑前i个物品,获得总价值为j的时候,所用时间的最小值. c[i][j]为在搜索到第i件物品,当前总价值为j的时候下一步的价值搜索状态. 则有f[i][j] = f[i - 1][j - p[i]] + t[i…
原题连接:http://codeforces.com/problemset/problem/864/E 题意:一个人想从大火中带走一些东西.每次他只能带一个,耗时ti ,价值为pi, 当总时间超过di时不能被带走.问他如何按顺序带走物品使价值总和最大. 思路:背包问题.分为取和不取两种情况1.dp[i][j]=max(dp[i-1][j], dp[i-1][j-t]+p), j<d; 2.dp[i][j]=max(dp[i-1][j], dp[i][j]); AC代码: #include<io…
背包DP,决策的时候记一下 jc[i][j]=1 表示第i个物品容量为j的时候要选,输出方案的时候倒推就好了 #include<iostream> #include<cstdlib> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; struct poi{int t,ddl,p,id;}a[maxn]; int n,top,ansi,cnt;…
https://codeforces.com/problemset/problem/864/E 这个题目要把这个按照物品毁灭时间进行排序,如果时间短就要排在前面,这个是因为要保证之后的物品的拯救不会影响到之前的. #include <cstdio> #include <cstring> #include <cstdlib> #include <queue> #include <stack> #include <vector> #inc…
题意: 房间着火了,里面有n件物品,每件物品有营救需要的时间t,被烧坏的最晚时间d,他的价值p,问能得到的最大价值,并且输出营救出来的物品编号 代码: //必然是先救存活时间短的即d小的,所以先排个序,dp[i][j]表示枚举到第i件物品时救出他的时间是j时的最大价值,然后就 //是取还是不取这件物品的问题了他的状态是由dp[i-1][~]转移来的.另外这题需要记录取了哪些物品,用g[i][j]表示第i件 //物品在j时间取没取,用pre数组记录前驱.输出还要按照取得顺序输出. #include…
2017-08-25 17:04:07 writer:pprp 题目描述: • Codeforces 35C Fire Again• N*M的格子,最开始有K个点 (坐标给定) 开始着火• 每一秒着火的点会扩散到与其距离为1的其他点• 求最后一个着火的点• 1 ≤ n, m ≤ 2000• 1 ≤ K ≤ 10 模拟的题,本来想用dfs做感觉有点复杂, 可以通过判断两个点之间横纵距离之和来计算出时间 参见的是cf上某位大佬的代码,差距还是很大,要加油了, 话说cf真是好,越来越觉得cf好用了 代…
题目传送门:http://codeforces.com/contest/1119/problem/D D. Frets On Fire time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output Miyako came to the flea kingdom with a ukulele. She became good friend…
http://codeforces.com/contest/864/problem/E 题意: 有一堆物品,每个物品有3个属性,需要的时间,失效的时间(一开始)和价值.只能一件一件的选择物品(即在选择这件物品时需要一定的时间,在这段时间之内不能选择其他物品),选择这件物品只能在失效时间之前选择.问选择的最大价值是多少. 思路: 对于每一个物品,有选和不选两种操作,与01背包是相似的.但是此题选择的顺序会影响到结果,这是01背包不同的地方. 比如 a.st = 3,a.en = 5,a.v = 4…
After a terrifying forest fire in Berland a forest rebirth program was carried out. Due to it N rows with M trees each were planted and the rows were so neat that one could map it on a system of coordinates so that the j-th tree in the i-th row would…