codeforces 525C Ilya and Sticks(简单贪心)
2015-03-28 02:15
351 查看
题意:
n个木棍,想拼成若干矩形,使得面积最大。
附加条件:每根棍子可以把长度最多减1
思路:
容易得出一个贪心思路。
按长度从大到小排序后,依次拿。
但是我的写法有一个bug。。
因为先做了一次统计,然后从1e6到2遍历。。
比如其中一段(X = O + 1) O O O O X
忽略 X
O O 配对
O O 配对
这样就使得可行解空间变小了, 应该这样
O X 配对
O O 配对
这样剩下的O就可能再配一对
贪心需谨慎 t_t
n个木棍,想拼成若干矩形,使得面积最大。
附加条件:每根棍子可以把长度最多减1
思路:
容易得出一个贪心思路。
按长度从大到小排序后,依次拿。
但是我的写法有一个bug。。
因为先做了一次统计,然后从1e6到2遍历。。
比如其中一段(X = O + 1) O O O O X
忽略 X
O O 配对
O O 配对
这样就使得可行解空间变小了, 应该这样
O X 配对
O O 配对
这样剩下的O就可能再配一对
贪心需谨慎 t_t
LL a[Maxn+5], n; LL solve() { LL ret = 0; vector<LL> v; urep(i, Maxn, 2) { if (a[i]) a[i] += a[i+1], a[i+1] = 0; while (a[i] >= 2) { v.push_back(i); a[i] -= 2; } if (a[i] && a[i+1]) { v.push_back(i); a[i] = 0; } } int sz = v.size(); for (int i=0;i<sz-1;i+=2) { ret += v[i]*v[i+1]; } return ret; }
相关文章推荐
- Codeforces 525C Ilya and Sticks【贪心】
- CodeForces-525C Ilya and Sticks
- Codeforces 525C Ilya and Sticks 【数学】
- CodeForces 525C Ilya and Sticks
- Codeforces 525C Ilya and Sticks
- CF 525C(Ilya and Sticks-贪心)
- Codeforces 755 F. PolandBall and Gifts (简单贪心+二进制优化多重背包)
- CodeForces - 794C:Naming Company(博弈&简单贪心)
- codeforces 74B Train 贪心 简单模拟
- codeforces-392D->(简单贪心)
- Codeforces-754B-Ilya and tic-tac-toe game(简单模拟判断)
- Codeforces 525C:Ilya and Sticks
- Codeforces 525C. Ilya and Sticks
- Codeforces 629B Far Relative’s Problem(简单区间贪心)
- Codeforces 754A Lesha and array splitting(简单贪心)
- codeforces 525C Ilya and Sticks
- Codeforces Round #297 (Div. 2) 525C Ilya and Sticks(脑洞)
- Code Forces 525C Ilya and Sticks
- Codeforces 712B Memory and Trident 简单贪心
- CodeForces - 609A USB Flash Drives ( 排序 简单贪心 )