题目:http://codeforces.com/contest/360/problem/E 首先,每条边不是选 \( l[i] \) 就是选 \( r[i] \): 做法就是先把边权都设成 \( r[i] \),然后做 \( dijkstra \),如果有一条可改的边 \( (a,b) \) 而且 \( dis1[a] < dis2[a] \),那么就改边权为 \( l[i] \): 然后重复这个过程直到无边可改: 因为要考虑平局,所以只要 \( dis1[a] <= dis2[a] \)…
[codeforces 360]A. Levko and Array Recovery 试题描述 Levko loves array a1, a2, ... , an, consisting of integers, very much. That is why Levko is playing with array a, performing all sorts of operations with it. Each operation Levko performs is of one of…
题目:http://codeforces.com/contest/360/problem/E 官方题解与证明:http://codeforces.com/blog/entry/9529 一条可以调整的边的边权要么是 l [ i ] 要么是 r[ i ] . 先把所有可调整边设成 r[ i ] ,然后看看有没有一条可调整的边 (x,y)满足 dis1[x]<=dis2[x] 且其边权还是 r[ i ]:如果有,就把它改成 l [ i ]. 改完一条边之后就再做一遍 dij( ) ,然后再改:直到没…
Description: 非 * 号的地方可以放A或B,不能AA或BB,一共有a个A,b个B,问你最多放几个 Solution: 1.模拟一下,找连续空位长度,如果长度为奇数,则我可以有一个位置放任意一个,否则摆放消耗一定,最后放完了判断一下是不是还有剩下的,有剩下的就都放到任意位置 Code #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int m…
Descripe: 贪心,贪在哪里呢…… 给你初始速度,结尾速度,行驶秒数,每秒速度可变化的范围,问你行驶秒数内最远可以行驶多少距离 Solution: 贪心,我是否加速,就是看剩下的时间能不能减到原始给定的结尾速度 #include <iostream> using namespace std; int main() { int v1,v2; int t,d; while(cin>>v1>>v2) { cin>>t>>d; int ret =…
Professor GukiZ is concerned about making his way to school, because massive piles of boxes are blocking his way. In total there are n piles of boxes, arranged in a line, from left to right, i-th pile (1 ≤ i ≤ n) containing ai boxes. Luckily, m stude…
[链接]:CF [题意]:对任意一个数a[i] ,可以对任意 满足 i != j 且 a[i] > a[j] && a[i] <= a[j] +k 的 a[j] 可以被删掉,求使最终剩下的个数最少. [分析]:扫一遍,二分搜索合法的. [代码]: #include<cstdio> #include<string> #include<cstdlib> #include<cmath> #include<iostream>…
LINK:Résumé Review 这道题让我眼前一亮没想到二分这么绝. 由于每个\(b_i\)都是局部的 全局只有一个限制\(\sum_{i=1}^nb_i=k\) 所以dp没有什么用 我们只需要满足他们的累和=k即可. 容易想到每次给b加1带来的贡献是 \(\Delta_x=a_i-3{b_i}^2-3b_i-1\) 开一个堆每次取出最大值 这样显然是最优的. 不过复杂度为klogn k足足有1e14这么大. 一个绝妙的想法 每次增加的值是递减的 那么第k次增加的值也是固定的. 可以进行二…
题目链接: 传送门 Kefa and Company time limit per test:2 second     memory limit per test:256 megabytes Description Kefa wants to celebrate his first big salary by going to restaurant. However, he needs company. Kefa has n friends, each friend will agree to…
B:School Marks 有n个测试,已经完成了k个,每个测试得分为a[i],接下来的分数不知道,让我们求出任何一个满足题意的即可,满足题意就是n个测试的得分总和<=x, 中位数>=y; 可以想一下先求出来已经有几个大于y的用cnt_y来表示,如果能构成满足题意的数必定至少有(n+1)/ 2个>=y 的数,所以我们可以添加 Y=(n+1)/ 2 - cnt_y 个 y,当然 Y < n - k;剩下的就是添加1了,这样就能 满足总和最小,如果这个总和还大于x那就不存在…