Codeforces 954 G. Castle Defense】的更多相关文章

http://codeforces.com/problemset/problem/954/G 二分答案 检验的时候,从前往后枚举,如果发现某个位置的防御力<二分的值,那么新加的位置肯定是越靠后越好 差分即可 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define N 500001 typedef long…
G. Castle Defense time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output Today you are going to lead a group of elven archers to defend the castle that is attacked by an army of angry orcs. Thr…
题 OvO http://codeforces.com/contest/954/problem/G 解 二分答案, 对于每个二分的答案值 ANS,判断这个答案是否可行. 记 s 数组为题目中描述的 a 数组 以下为初始化: 首先建一个 个元素到第 i 个元素的和 然后建一个 p 数组,其中 p[i] 代表能射到第 i 个区域的弓箭手数量, p[i] 显然可以由 pre 计算得到 以下是对于二分的每个答案值 ANS,判断这个值是否可行的做法: 创建一个 d 数组, d[i] = p[i] - p[…
[codeforces 549]G. Happy Line 试题描述 Do you like summer? Residents of Berland do. They especially love eating ice cream in the hot summer. So this summer day a large queue of n Berland residents lined up in front of the ice cream stall. We know that ea…
CodeForces 794 G.Replace All 解题思路 首先如果字符串 \(A, B\) 没有匹配,那么二元组 \((S, T)\) 合法的一个必要条件是存在正整数对 \((x,y)\),使得 \(xS=yT\),其中 \(xS\) 是将字符串 \(S\) 复制 \(x\) 遍后得到的字符串,\(yT\) 是将字符串 \(T\) 复制 \(T\) 遍后得到的字符串.由于 \(A,B\) 直接匹配的情况比较容易讨论,下面没有特殊说明,都是 \(A,B\) 没有直接匹配的情况. 这个条件…
Codeforces 1207 G. Indie Album 解题思路 离线下来用SAM或者AC自动机就是一个单点加子树求和,套个树状数组就好了,因为这个题广义SAM不能存在 \(len[u] = len[fa]\) 的节点,需要特殊处理,所以写一个博客来贴板子,之前用Awd博客上的那个好像不太能处理干净. code /*program by mangoyang*/ #include <bits/stdc++.h> #define inf ((ll) 1e18) #define Max(a,…
http://codeforces.com/problemset/problem/659/G 思路: f(i,0/1,0/1) 表示到了第i个,要被切的块开始了没有,结束了没有的状态的方案数 递推看代码: //File Name: cf659G.cpp //Author: long //Mail: 736726758@qq.com //Created Time: 2016年07月12日 星期二 12时40分28秒 #include <stdio.h> #include <string.h…
题目链接:http://codeforces.com/problemset/problem/803/G 大致就是线段树动态开节点. 然后考虑到如果一个点还没有出现过,那么这个点显然未被修改,就将这个点所代表的区间定位到原序列中,利用ST表查一下区间最小值就可以了. 定位: llg minn(llg l,llg r) { >=n) return mt; l%=n;if(!l) l=n; r%=n;if(!r) r=n; ,r)); else return gw(l,r); } 其中${gw(l,r…
http://codeforces.com/problemset/problem/954/E 式子变成Σ xi*(ti-T)=0 sum0表示>=T的ai*ti之和 sum1表示<T的ai*ti之和 那么如果sum0<sum1,所有ti>=T的ai全加上 那么现在的Σ xi*(ti-T)>=0 考虑用ti<T的来使这个式子变成0,还要让Σ xi 最大 显然是选的ti与T的差距越小 ,xi可以用的越多 将ti从大到小排序后,以此选用,直到式子变成0 sum1<sum…
题目链接:http://codeforces.com/contest/746/problem/G mamaya,不知道YY了一个什么做法就这样过去了啊 2333 首先我显然可以随便构造出一棵树满足他所给出的深度要求. 但是他还对于叶子节点的数目有要求. 考虑首先构造一棵树最大化在满足给出的深度条件下最大化叶子节点的个数. 显然对于每一层的节点让它们的父亲都指向上一层的同一个点的话就会有最多的叶子节点. 好,接下来考虑如何减少叶子结点. 我就是随便贪心搞的(也许可以被叉?) 按照深度从小到大枚举所…