关闭
当前搜索:

曼哈顿距离几何意义 矩形面积并

11.7思路: 二分ans,把所有长度>mid的(lf,rg)都搞出来, 然后我们要找出一个点对(u,v),使得|x - u| + |y - v| <= mid。 考虑几何意义,曼哈顿距离的图像限定。 把一个区间(lf,rg)转换成一个点(x,y)。 对于每个点(x,y),我们构建出一个以(x,y)为几何中心, 对角线长2*mid,且对角线平行于坐标轴的正方形。 满足条件的(u,v)就...
阅读(87) 评论(0)

升序操作 (二分 贪心)

也可以不用判环,暴力check,按照顺序暴力跑(看代码吧)#include #include #include #include #define LL long long #define N 400010 using namespace std;int n, cnt; int a[N], b[N];inline in...
阅读(47) 评论(0)

b进制分解 加乘最小步数

b进制分解#include #include #include #include #define LL long long #define N 1000010 using namespace std;int S, T, a, b; int f[N], pw[110];int run(){ f[S] = 0;...
阅读(71) 评论(0)

kill (二分 贪心)

kill思路: 二分ans后,直接贪心暴力check。 每个人去打他能打得到的最远的怪兽。#include #include #include #include #define LL long long #define N 100010 using namespace std;int n, m, S; LL go...
阅读(61) 评论(0)

codeforces 700B Connecting Universities (贪心详解)

codeforces 700B Connecting Universities结论思路: 这个题一眼看上去很难,但是正着做不行,我们换个角度:考虑每条边的贡献。 因为是一棵树,所以一条边把树分成两个集合,假如左边有x个学校,右边有y个学校。 贪心地想,让每条边在学校的路径上最多,所以贡献为min(x,y) 具体实现:一次dfs即可,复杂度O(N) 听起来很有道理,可我不会证呀~~ 然后就...
阅读(205) 评论(0)

BZOJ 4423 Bytehattan (对偶图 并查集)

4423 【AMPPZ2013】 BytehattanDescription 比特哈顿镇有n*n个格点,形成了一个网格图。一开始整张图是完整的。 有k次操作,每次会删掉图中的一条边(u,v),你需要回答在删除这条边之后u和v是否仍然连通。Input 第一行包含两个正整数n,k(2<=n<=1500,1<=k<=2n(n-1)),表示网格图的大小以及操作的个数。 接下来k行,每行包含两条信息,...
阅读(64) 评论(0)

reverse (模拟)

reverse所有的由A和B构成的字符串,在这种操作下形成了一棵二叉树。根是空串,从根开始,向左走表示施加1号操作,向右走施加2号操作。 知道一个串,我们可以根据它最后一个字符是A还是B把它的父亲还原回来,所以我们有了在这棵树上遍历的能力。 做法就很显然了,我们只需要先让长的那个串一直向上走,知道他们深度相同,然后一起向上走,直到走到同一点,每走一步我们需要O(长度)的时间,最多走O(长度)步,...
阅读(55) 评论(0)

Tree (树上期望dp)

Tree11.2 和 11.311.2考虑1个随机过程,第1次走到u号点的时间可以分成两部分,第1部分是从1号点随机游走第1次走到u的父亲p的时间,第2部分是从p开始走,第1次走到u的时间,由期望的线性性,第1次走到u的时间期望等于这两部分期望的和。第1部分是一个子问题,我们考虑怎么解决第2部分,我们把这个问题变成1棵树(并且根节点脑袋上也有1条边),从根节点开始随机游走,走出这棵树期望的时间,我们...
阅读(60) 评论(0)

Rank 后缀排序求原串(贪心)

Rank11.3对于后缀排名最小的那个位置, 不妨令它为’a’. 本着让使用的字母尽可能少的原则, 对于两个排名相邻的位置i, j, 设rank[i] < rank[j], 那么如果rank[i+1] < rank[j+1]那么i和j位置上的字符就能够相同, 否则不能. 那么从排名为1的往后推就可以了, 至于字典序最小并没有什么用.#include #include <cstd...
阅读(51) 评论(0)

Hanoi 多汉诺塔问题 (dp)

Hanoi11.3类比只有三个柱子的汉诺塔, 设f[i][j]为有i个盘子j个柱子时的最少步数. 那么肯定是把一些上面盘子移动到某根不是j的柱子上, 然后把剩下的盘子移动到j, 然后再把上面的盘子移动到j. 于是就有递推式f[i][j] = min{f[k][j] * 2 + f[i - k][j - 1]}.#include #include #includ...
阅读(72) 评论(0)

BZOJ 2815 灾难 (灭绝树)

BZOJ 2815 灾难Description 阿米巴是小强的好朋友。 阿米巴和小强在草原上捉蚂蚱。小强突然想,如果蚂蚱被他们捉灭绝了,那 么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的 生态灾难。 学过生物的阿米巴告诉小强,草原是一个极其稳定的生态系统。如果蚂蚱灭 绝了,小鸟照样可以吃别的虫子,所以一个物种的灭绝并不一定会引发重大的灾 难。 我们现在从专业一点...
阅读(65) 评论(0)

BZOJ 4565 字符合并 (区间状压dp)

4565: [Haoi2016]字符合并Time Limit: 20 Sec Memory Limit: 256 MB Description有一个长度为 n 的 01 串,你可以每次将相邻的 k 个字符合并,得到一个新的字符并获得一定分数。得到的新字 符和分数由这 k 个字符确定。你需要求出你能获得的最大分数。Input第一行两个整数n,k。接下来一行长度为n的01串,表示初始串。接下来2k...
阅读(63) 评论(0)

BZOJ 2125 最短路 (拆环重建图 lca spfa)

2125: 最短路Time Limit: 1 Sec Memory Limit: 259 MBDescription给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径。Input输入的第一行包含三个整数,分别表示N和M和Q 下接M行,每行三个整数v,u,w表示一条无向边v-u,长度为w 最后Q行,每行两个整数v,u表示一组询问Output输出Q行,每行...
阅读(63) 评论(0)

sumcomb (组合数)

10.19找规律题目,在图上推推就发现,一个是起点下面的数,一个是起点右下角的数。#include #include #include #include #define LL long long using namespace std;const LL mod = 1e9 + 7;LL mub[1000010]; LL...
阅读(73) 评论(0)

pay 解方程 (exgcd)

10.19思路: exgcd解方程,等差数列求和#include #include #include #include #define LL long long using namespace std;LL a, b, c; LL x, y;LL gcd(LL aa, LL bb, LL &x, LL &y){...
阅读(53) 评论(0)

stone 质检员 (二分)

stone 质检员10.30我们可以很容易的发现,随着W 的增加,Y 是单调减小的, 所以说我们可以用类似于二分的方法求出最接近标准值的W,每 次尝试可以在O(n)的时间计算出Y,所以总复杂度O(nlogn)#include #include #include #include #define LL long...
阅读(62) 评论(0)

BZOJ 2744 朋友圈 (最大团)

2744: [HEOI2012]朋友圈Time Limit: 30 Sec Memory Limit: 128 MB Description在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着。一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目。 两个国家看成是AB两国,现在是两个国家的描述: 1....
阅读(105) 评论(0)

CodeVs 2245 股票趋势 (二维线段树 zkw)

2245 股票趋势10.30 时间限制: 2 s 空间限制: 128000 KB题目描述 Description 彭先生任职于证券公司,是一位股票分析师。公司经理认为目前的股票分析软件仍可再改进,希望彭先生再设计一套更准确的软件。近日來,彭先生埋头钻研,他发现过去的研究结果,有人提到,如果能在历史资料中,找到与近期股票走势相近的样型,即可使用此历史样型的交易策略,做为近期的买卖策略。为了验证...
阅读(76) 评论(0)

合并序列

10.29思路: 多路并行问题,写了个比较暴力的做法,开O2就是能过的。 同样可以用二分。#include #include #include #include #include #define LL long long #define N 100010 using namespace std;i...
阅读(57) 评论(0)

快来分块 (模拟)

10.29思路: 模拟题,拿两个指针向中间逼近,就是细节有点恼火,拍出好多错【汗 二分也OK,二分pos,二分ans,随便搞都能水过去。#include #include #include #include #define LL long long #define N 100010 using namespace...
阅读(51) 评论(0)
311条 共16页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:32637次
    • 积分:3275
    • 等级:
    • 排名:第11708名
    • 原创:310篇
    • 转载:1篇
    • 译文:0篇
    • 评论:2条
    文章分类