Codeforces 542F 构造
来源:互联网 发布:pdf压缩软件 for mac 编辑:程序博客网 时间:2024/05/16 08:36
/*被题目清纯的外表骗了,感觉就是个水题 = =!没想出来题目的意思是这样的,给出n(1000)个工作和时间T(100),每个工作有ti时间和qi有趣度要求用它们或者这些工作的子集来形成一棵二叉树满足如下条件1.有且只有叶子节点是一个工作2.工作的需要的时间ti加上该工作节点的深度<=T求最大的有趣程度解法就是:把工作按照需要的不同的时间分组从需要的时间少到需要的时间大扫描(相当于从树底向上扫描)对于当前深度i(需要的工作时间为i)的节点们来说,将他们按照有趣程度降序,依次取两个有趣程度最大的节点形成上一层的节点。最后T层的第一个数值就是答案。*/#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <iostream>#include <set>using namespace std;#define ll long long#define pb push_back#define PII pair<ll,ll>#define ALL(x) (x).begin(),(x).end()vector<int> g[111];int main(){ //freopen("in.txt","r",stdin); int n,T; scanf("%d%d",&n,&T); for(int i=1;i<=n;i++){ int t,q; scanf("%d%d",&t,&q); g[t].pb(q); } for(int t = 1;t<=T;t++){ sort(ALL(g[t]),greater<int>()); for(int i=0;i<g[t].size();i+=2){ if(i+1 < g[t].size()) g[t+1].pb(g[t][i] + g[t][i+1]); else g[t+1].pb(g[t][i]); } } printf("%d\n",g[T][0]); return 0;}
0 0
- Codeforces 542F 构造
- F. Madness Codeforces 822F 贪心 构造
- CodeForces#375 - F-st-Spanning Tree 构造
- [并查集 构造] Codeforces 723F#375 (Div. 2) F. st-Spanning Tree
- [构造] Codeforces 618F Wunder Fund Round 2016 F. Double Knapsack
- Codeforces 659F F
- Codeforces Round #350 (Div. 2) F. Restore a Number(贪心构造)★ ★ ★
- Codeforces Round #375 (Div. 2) -- F. st-Spanning Tree(并查集 构造生成树)
- Codeforces 794 F Leha and security system(线段树+构造)
- CodeForces 472 D ,E,F (MST,构造,线性代数)(待补)
- Codeforces 234 F. Fence
- 【Codeforces 500F】Dp
- codeforces 234F - Fence
- F-Logo Turtle codeforces
- 【CODEFORCES】 F. Ant colony
- Codeforces 567F
- CodeForces 241F Race
- Codeforces 611F 思维
- [Leetcode]188. Best Time to Buy and Sell Stock IV@python
- HDU 2066 一个人的旅行 (最短路----floyd && dijkstra)
- Android开发学习之路--UI之基本布局
- 【Java】java使用反射访问对象方法和成员变量
- 应用层数据库读写分离db-loadbalance
- Codeforces 542F 构造
- 第7讲项目1——正差值
- hdu 1551 Cable master
- MVC中单独配置Log4Net
- 共模电感
- 数据结构实验之排序五:归并求逆序数
- android 加载大图片适配问题解决方案
- Java 集合类
- 第7讲项目2——三数最大值