[Codeforces 460C] Present】的更多相关文章

题目链接:http://codeforces.com/submissions/ywindysai 题目意思:有 n 朵花,每朵花都有一定的高度(第 i 朵花对应 ai),m 天之后要把这些花送给别人.不过这 m 天里可以通过淋花来让花长得尽可能高啦(当然不希望把长得矮矮的花送给人啦),每天只能淋一次,一次覆盖的范围是连续的 w 朵,淋完水后被淋的花会在当天长高 1 个单位(one height unit).现在就问,m天之后,最矮的那朵花最高能长到多高. 首先,我对这条题目完全没有想法,四个字:…
[题目链接] https://codeforces.com/contest/460/problem/C [算法] 二分 + 贪心 要求最小值最大 , 我们不妨二分最小值 , 若一盆花的高度小于二分的值 , 则将这盆花起的w盆花的高度都加一 , 具体实现时可以使用前缀和 + 差分 时间复杂度 : O(NlogV) [代码] #include<bits/stdc++.h> using namespace std; ; const int inf = 2e9; int n , m , w; int…
题目链接:http://codeforces.com/problemset/problem/460/C C. Present time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little beaver is a beginner programmer, so informatics is his favorite subjec…
link:http://codeforces.com/problemset/problem/4/D #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <cctype> #include <algorithm> #include <queue> #include…
Codeforces 题目传送门 & 洛谷题目传送门 一道不算太难的 D1E 罢--虽然我不会做/kk u1s1 似乎这场 Div1 挺水的?F 就是个 AC 自动机板子还被评到了 3k2-- 首先我们注意到对于固定的 \(x\) 及集合 \(S\),如果 \(\gcd(S)>1,\gcd(x,\gcd(S))=1\) 那么必然有 \(x\notin S\),否则显然有 \(\gcd(S)=\gcd(x,\gcd(S))\) 可立即推出矛盾,也就是说我们可以直接忽略这个条件.我们考虑直接枚举…
给你n高树花.m日,每天连续浇筑w鲜花.一天一次,花长1高度单位 求m天后.最矮的花最高是多少 最大最小问题能够用二分来解 首先我们能够得到全部花的最矮高度即答案的下界,给这个花浇m天即是答案的上界 然后二分枚举答案,检验合法性. 怎样检验合法性 我们用个数组来记录need[i]表示 i点须要浇的次数(从i点開始的区间) 我们再用一个变量has来维护 i点已经被浇了的次数(由i点之前的在浇花范围内的点浇过的次数和) 动态地维护这两个值就可以 假设不够浇的.need[i]前缀和已经大于m天.则re…
好题!学习了好多 写法①: 先求出gcd不为1的集合的数量,显然我们可以从大到小枚举计算每种gcd的方案(其实也是容斥),或者可以直接枚举gcd然后容斥(比如最大值是6就用2^cnt[2]-1+3^cnt[3]-1-(6^cnt[6]-1),cnt[x]表示x的倍数的个数),用容斥计算的话可以发现系数是莫比乌斯函数的相反数,就可以线性筛了.下面会记录一种O(MAX*ln(MAX))的筛法...求cnt的话可以选择直接枚举倍数计算O(MAX*ln(MAX))或者分解质因数,因为1e7内最多有8个不…
题意 https://vjudge.net/problem/CodeForces-460C 一个长度为 n 的序列 a ,你有 m 次操作的机会,每次操作是将其中连续的 w 个元素增加 1 .最大化最终序列的最小值. 思路 最大化最小值,二分的套路题. 数据范围1e5,所以我们要O(n)check. 如何能做到O(n)? 差分! 求出查分数组后,差分的前缀和就是原数组,如果我们要check(x),那么每当前缀和<x时,就要c[i]+=(x-s),c[i+w]-=(x-s),因为可以连续给w个元素…
发现最近碰到好多次二分结果的题目,上次多校也是,被我很机智的快速过了,这个思想确实非常不错.在正面求比较难处理的时候,二分结果再判断是否有效往往柳暗花明. 这个题目给定n个数字的序列,可以操作m次,每次要操作w个连续的数字,每次的操作将使得该段连续数字的数都+1,最后求整个序列最小值的最大值 求最小值最大,明显的二分结果的题目,我一开始还是在ACdream那个群里看到这个题,说是二分+线段树的题目,我就来做了一下..首先二分部分很容易,下界就是初始序列的最小值,上界就是 下界+m,至于怎么判断这…
C - Present Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 460C Description Little beaver is a beginner programmer, so informatics is his favorite subject. Soon his informatics teacher…