CF505E Mr. Kitayuta vs. Bamboos】的更多相关文章

cf luogu 要使得最高的柱子高度最小,考虑二分这个高度,那么剩下的就是要指定一个操作方案,使得最终每个柱子高度\(\le mid\) 因为有个柱子高度不会\(<0\)的限制,所以正着模拟不太方便维护.考虑倒着模拟,那么问题可以转化成一开始有\(n\)个高度为\(mid\)的柱子,有\(m\)天,每天每个柱子先会减少\(a_i\)高度(还要保证柱子高度每个时刻\(\ge 0\)),然后每个可以操作\(k\)次,每次选一个柱子使得其高度增加\(p\),要使得最终每个柱子高度\(\ge h_i\…
「CF505E」 Mr. Kitayuta vs. Bamboos 传送门 如果没有每轮只能进行 \(k\) 次修改的限制或者没有竹子长度必须大于 \(0\) 的限制那么直接贪心就完事了. 但是很遗憾. 首先看到最小化最大值可以想到用二分将最优化问题转化为判定性问题. 设当前二分的值为 \(H\). 但是有这个必须大于 \(0\) 的限制很烦,导致我们不一定能真的减少 \(p\),所以我们考虑让时光倒流. 即:假设所有的竹子最后都满足限制,即均为 \(H\).每一次长高就相当于减少 \(a_i\…
Mr. Kitayuta vs. Bamboos 题目链接:http://codeforces.com/problemset/problem/505/E 参考:http://blog.csdn.net/qpswwww/article/details/46316647 贪心,二分 从数据规模上看,算法复杂度只能为O(n)或者O(nlgn),似乎不能直接求值,考虑二分MAX将求值问题转化为判定性问题.然而考虑到砍伐后竹子高度变为0的特殊情况,考虑倒着做,即初始时每个竹子高度均为MAXi,每天晚上每个…
大意: 给定$n$棵竹子, 每棵竹子初始$h_i$, 每天结束时长$a_i$, 共$m$天, 每天可以任选$k$棵竹子砍掉$p$, 若不足$p$则变为0, 求$m$天中竹子最大值的最小值 先二分答案转为判定最大值是否能<=$x$, 考虑如何进行判定. 直接贪心看的话很难办, 可能先砍当前较高的, 也可能砍最快的. 考虑将问题转化, 即初始高度均$x$, 每天结束时降低$a_i$, 可以选$k$棵拔高$p$, 要求每天竹子都不能降低到负数, 并且最后一天竹子高度$\ge h_i$ 这样的话我们贪心…
分析 代码 #include<bits/stdc++.h> using namespace std; #define int long long ],h[],now[],cnt[]; inline bool ck(int mid){ ,res=; ;i<=n;i++)now[i]=h[i]+a[i]*m,tot+=max(0ll,(now[i]-mid-+p)/p); ;i<=m;i++)cnt[i]=; ; ;i<=n;i++)if(now[i]>mid) )%p+;…
目录 @description@ @solution@ @accepted code@ @details@ @description@ n 个竹子,第 i 个竹子初始高度 hi,在每天结束时将长高 ai. 一共 m 天,每天可以砍伐 k 次,可以多次砍伐同一个竹子.如果砍伐的竹子当前高度 h,则砍后变为 max(0, h - p). 问 m 天之后最高的竹子的高度最小是多少. 原题传送门. @solution@ 考虑第 i 个竹子如果在第 j 天被砍了 \(c_{i,j}\) 次,则最后剩下的高…
题面传送门 首先很显然的一点是,看到类似于"最大值最小"的字眼就考虑二分答案 \(x\)(这点我倒是想到了) 然鹅之后就不会做了/wq/wq/wq 注意到此题正着处理不太方便,故考虑倒着处理,那么原题相当于,初始 \(b_i=x\),每次操作有以下步骤: \(\forall i,b_i\leftarrow b_i-a_i\) 并且要求修改过后的 \(b_i\geq 0\) 选择 \(k\) 个 \(b_i\) 并将它们加上 \(p\) 要求最后 \(\forall i,b_i\geq…
Mr. Kitayuta's Colorful GraphTime Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description Mr. Kitayuta has just bought an undirected graph consisting of n vertices and m edges. The vertices of the graph are numbered to n. Each ed…
Mr. Kitayuta's Colorful Graph Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 505B Description Mr. Kitayuta has just bought an undirected graph consisting of n vertices and m edges. The…
B. Mr. Kitayuta's Colorful Graph time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mr. Kitayuta has just bought an undirected graph consisting of n vertices and m edges. The vertices of the g…