自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 BZOJ 1996 HNOI 2010 chorus 合唱队 区间DP

发现每次都只在最左最右加一个数字,因此可以用区间DP。如果我们已经知道了区间[i,j]的方案数,而且是在区间前面加了数字,那么其能贡献的区间有:[i,j+1](aj+1>ai)[i,j+1](a_{j+1}>a_i)[i−1,j](ai−1<ai)[i-1,j](a_{i-1}<a_i)相对的在后面加了数字也类似。 那么就好办了,需要三维表示状态区间左右端点以及在前还是后加了数字。方程就按照

2016-02-28 12:17:33 479

原创 BZOJ 3761 甄嬛 二分答案

由于分类的关系强行开个新帖。。C有内存加成,1040KB->980KB。暂时Rank 8.题解参见:http://blog.csdn.net/huanghongxun/article/details/50759196#include #define min(i,j) ((i)<(j)?(i):(j))#define max(i,j) ((i)>(j)?(i):(j))#d

2016-02-28 11:32:42 1082

原创 BZOJ 1863 ZJOI 2006 皇帝的烦恼 二分答案

一个简单骗分就是ans=max{a1+an,ai+ai+1}ans=\max\{a_1+a_n,a_i+a_{i+1}\}。经测试50分。。。似乎有人多对了一个点,不知道有啥特别的技巧? 不妨考虑一下如何判定答案ans,即1与n的最小冲突个数是否为0。 令mi[i]表示1与i的最小冲突个数,ma[i]表示1与i的最大冲突个数。那么有: 最多能冲突那么就是全部都冲突了或是分了上一个冲突了的。

2016-02-28 11:04:04 931

原创 CodeForces 629E(#343)|Famil Door and Roads|树形dp|概率

Ubuntu下的搜狗好痛苦。。中文翻译描述Famil Door的城市地图看起来像一棵树(无向无环图)所以其他人叫他Treeland。城市里有n个由n-1条双联通边连接起来的节点。 Famil Door有m个朋友生活在这城市。第i个朋友住在uiu_i而且在viv_i工作。在城市里的每个人都不开心因为在他们家和工作地点间只有一条简单路径。 Famil Door计划构造1条新边而且他会在n(n−1)/

2016-02-25 23:36:07 907

原创 CodeForces 148D Bag of Mice 概率DP

CF的题都喜欢加一堆背景? 锻炼英语翻译233。 第一段不翻了。。。 两人轮流从袋子里(包含w和白老鼠和b个黑老鼠)拿老鼠,第一个拿到白老鼠的人赢。 每次拿走一只老鼠以后,剩下的老鼠就会很恐慌,然后就会有一个老鼠自己跑出来(公主拿老鼠很小心,所以并不会惊动其他的老鼠。公主先拿。公主赢得概率有多大? 如果包里没有更多老鼠,而且没人拿到白老鼠,龙赢。自己跑出去的老鼠不算在拿出来的老鼠里,而且不

2016-02-25 16:24:07 519

原创 GDKOI 2016 酱油记

果然还是太弱了233 应该是QAQ 本文使用markdownx。。csdn在线编辑一离线好像就跪了。。Day 0西苑宾馆的网线插口什么鬼。。插座还在,口 不见了。。 预感Day1会跪。。Day 1早餐的粥真的好稀 平常没人的地铁站瞬间变大站。 六中再次被其他学校占领 学长竟然gdoi委员会的T1:给出一个数列,询问区间内各子串异或值的和,以及单点修改。 N≤106ai≤1000N\le

2016-02-23 12:48:37 417

原创 BZOJ 4027 贪心

如果要删除某一个节点,那么对父亲的影响就是c[x]+child[x]。而且优先选影响小的点删除更优,而且能删就删,因为如果能删却没删,回到父亲节点后不会有更优的删点方法使影响更小。第一次用C4Droid的代码格式化。。#include <cstdio>#include <vector>#include <algorithm>using namespace std;#define rep(i,

2016-02-19 22:18:41 414

原创 codeforces 618d 搜索

题意:给出一个完全图的生成树,树边权和非树边权,求最短路过各点一次当x#include <cstdio>#include <vector>using namespace std;const int N = 200005;vector<int> g[N];int tree = 0;int dfs(int u, int fa) { int out = 2; for (int

2016-02-19 21:09:30 1118

原创 HDU 3394 Railway 点双连通分量

判断有多少条边属于多个环或不属于环。 首先一个双连通分量内,如果边数=点数,那么所有点构成一个环如果边数>点数,那么肯定有多个环,而且所有边都处于多个环内。明天贴代码?RailwayTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s):

2016-02-18 23:33:48 525

原创 HDU 3749 Financial Crisis 点双连通分量

询问两点间是不联通,还是只有一条路,还是有多条路。 不联通用并查集处理即可。 只有一条路说明经过了割点,求一次点双联通分量,多条路说明在点双连通分量内。#include <cstdio>#include <cstring>#include <set>#include <algorithm>#define FOR(i,j,k) for(i=j;i<=k;i++)using namespa

2016-02-18 23:28:20 505

原创 POJ 3177 Redundant Paths 边双联通分量 缩点

问最少加多少条边使得任意两点间均有2条不同的路连接。 发现,如果两个点在一个边双联通分量内,路就必定至少2条,因此缩点成树,问题转化为将树补成边双联通分量,至少要加多少条边。与POJ 3352实际上一样。但是此题有重边,而判断割边的时候,就不能只判断父亲了,而是要判断反向边,否则重边判断就跪了。#include <cstdio>#include <cstring>#include <algor

2016-02-18 22:35:24 562

原创 POJ 3352|Road Construction|边双联通分量|Tarjan

POJ 3352 Road Construction至少加几条边使原无向图边双联通。 tarjan求出边双联通分量后缩点成一棵树。 那么一棵树要实现边双联通显然是叶节点间连边,所以边数是 ⌈leaf2⌉\left\lceil \frac{leaf}{2} \right\rceil#include <cstdio>#include <cstring>#include <algorithm>

2016-02-18 21:26:09 424

原创 机房水题欢乐赛 2016-02-18

明天就要去参加GDKOI了怎么办好虚QAQCodeForces 283 一日游:T1: Seghttp://blog.csdn.net/huanghongxun/article/details/50686941T2: Programhttp://blog.csdn.net/huanghongxun/article/details/50687100T3: Coinhttp://blog.csdn.ne

2016-02-18 16:55:19 371

原创 CodeForces 283C Coin Troubles 背包问题 分析问题

汉化题意你有n种不同的硬币,每个硬币有一个价值ai(不同硬币价值可能相同) 我有这些硬币总价值为t,并且给出q对(b,c),告诉你第b种硬币的数量严格大于第c中硬币的数量。保证这q对(b,c)中所有b都不同,并且所有c都不同。 我问你我有多少种持有硬币的方案满足上面的约束?方案不同仅当存在至少一种硬币数量不同。答案可能很大,模10^9+7。Input第一行n,q,tn,q,t 第二行nn个数

2016-02-18 16:46:43 875

原创 CodeForces 283B Cows and Program 记忆化搜索 推导

题意:你有一个正整数序列{ai}\{a_i\},大小为nn,你还有2个变量x,yx,y,执行以下程序: x = 1; y = 0;while (1) { y += a[y]; x += a[x]; if (x <= 0 || x > n) return y += a[y]; x -= a[x]; if (x <= 0 || x > n) return}你的任务是得

2016-02-18 16:36:56 1153

原创 CodeForces 283A Cows and Sequence 树状数组

明天就要去GDKOI了好虚怎么办QAQ。给你一个序列,一开始只有一个0 接下来有n个操作,每个操作是下面3种操作描述的一种 前ai个数全部加上xi 在序列末尾加上ki这个数 序列末尾删去一个数(所以序列的大小会减一)。只有序列里至少有2个数才执行这个操作 。做完每一步,你需要输出这个序列的和的平均数。Input第一行n 接下来n行,每行第一个数为ti(1<=ti<=3),为相应的操作

2016-02-18 16:21:53 731

原创 POJ 3693 Maximum Repetition Substring 后缀数组

bzoj挂了后顿时感到人生无光。Maximum repetition substringTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 8600 Accepted: 2612DescriptionThe repetition number of a string is defined as the maximu

2016-02-18 00:00:05 383

原创 CodeForces 117C Cycle 搜索

题意求一个长度为3的环。题解枚举中间的点判断fa和child的关系? 一个dfs即可。 作死在读入图的时候用scanf(“%1d”, &g[i][j]) 然后TLE 233。代码#include <cstdio>const int N = 5005;int n, a, b, c, g[N][N], vis[N];bool dfs(int u, int fa) { vis[u] =

2016-02-17 20:55:14 743

原创 机房水题欢乐赛 2016-02-17

考试时题面用pdf格式给却不是latex生成的,严重吐槽T1: 数字给你N个数,编号1~N,从某个区间[L,R]中,任意选择二个数字,它们相同的概率是多少。Input第一行一个整数N 接下来一行,N个整数。 第三行一个整数M,表示询问次数。 接下来M行,每行两个整数L,ROutputM行,每行一个分数,表示两个数字是相同的概率,必须为最简分数。Sample Input6 41 2 3 3 3

2016-02-17 16:56:16 403 2

原创 HDU 3518 Boring Counting 后缀数组/后缀自动机

分组height?半个月没动后缀数组一堆名词都忘了233#include <cstdio>#include <cstring>#include <algorithm>#define rep(i,j,k) for(i=j;i<k;i++)#define FOR(i,j,k) for(i=j;i<=k;i++)using std::min;using std::max;#define N

2016-02-16 23:26:46 775

原创 POJ 2774 Long Long Message 后缀数组/后缀自动机

用分隔符连接2个字符串,并且跨字符串的height才对答案有贡献。 回忆一下当时的程序。。#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define rep(i,j,k) for(i=j;i<k;i++)#define MAXN 200050int n, num[MAXN], z[M

2016-02-16 23:22:25 510

原创 BZOJ 2251 Beijing WC 2010 外星联络 后缀数组

给出一个01串,求:出现次数大于1 的子串所出现的次数。 不过数据范围有点迷。。 后缀数组模板题。 构建出后缀数组以后,每个后缀都会产生子串。 比如ababa:aabaabababababa首先第一个后缀产生了子串a,而且因为h[1],h[2]>=1,因此可以向右扩展到第三个后缀,因此出现3次。 第二个后缀产生了2个子串ab和aba,而向后h[2]>=2拓展了1次所以出现了2次。a

2016-02-16 23:18:41 673

原创 BZOJ 1031 JSOI 2007 字符串加密 Cipher 后缀数组

咦BZOJ 502了发生了啥。一个循环串子串排序。。恩,联系到后缀数组后缀排序功能。 因此对给出的串重复一遍建立后缀数组。 比如JSOI07的后缀数组就是:0707JSOI0777JSOI07I07I07JSOI07JSOI07JSOI07JSOI07OI07OI07JSOI07SOI07SOI07JSOI07发现,如果一个后缀的长度大于等于原长len,那么其第len个字符

2016-02-16 22:11:41 612

原创 机房水题欢乐赛 20160216

——暨校GDKOI集训赛T1: 数字统计给出N个正整数,其中有且只有有一个数字出现超过n/2次,求这个数字Input第一行为N,接下来一行,有N个正整数。Output出现n/2次的数字。Sample Input51 2 3 3 3Sample Input3Hint20%:n≤1000n\leq 1000 40%: n≤10000n\leq 10000 60%: n≤10000000n\leq

2016-02-16 17:17:02 569

原创 BZOJ 1045 HAOI 2008 糖果传递 数学推导

好像Chrome支持MathJax有点问题。。Microsoft Edge一点事没有。。 因为一个一个小朋友传递,所以只用考虑两相邻两个小朋友间的关系。 令xix_i表示小朋友i−1i-1给ii的糖果数,v=1n∑aiv=\frac{1}{n}\sum a_i,那么显然有: ans=∑|xi|ans=\sum \left|x_i\right| 而且对于每个小朋友有: v=ai+xi−xi+

2016-02-16 16:28:52 797

原创 BZOJ 3238 AHOI 2013 差异 后缀数组 单调

lcp(Ti,Tj)=min{hi,⋯,hj}lcp(T_i, T_j)=\min\{h_i,\cdots,h_j\} 因此考虑hih_i对于其在hh上所能向左向右延伸的区间内的所有lcp都是其答案。因此参考poj 2796。。 代码稍后3238: [Ahoi2013]差异Time Limit: 20 Sec Memory Limit: 512 MB Submit: 1342 Solved

2016-02-15 23:17:39 425

原创 BZOJ 2956 模积和 公式推导

=∑i∑j((n mod i)(m mod j))∑i∑j(n−⌊ni⌋i)(m−⌊mj⌋j)−∑i(n−⌊ni⌋i)(m−⌊mi⌋i)\begin{aligned}&\sum_i \sum_j ((n \text{ mod } i)(m \text{ mod } j))\\=&\sum_i \sum_j(n-\left\lfloor \frac{n}{i} \right\rfloor i)(m-

2016-02-15 23:10:19 559

原创 POJ 3250 Bad Hair Day 单调

唔,是poj 2796的弱化版。 http://blog.csdn.net/huanghongxun/article/details/50669323#include <cstdio>const int N = 80005;typedef long long ll;inline int read() { int s = 0, f = 1; char ch = getchar();

2016-02-15 17:36:10 319

原创 POJ 2796 Feel Good 单调

题意:n≤106n\leq 10^6 max1≤i≤j≤n⎧⎩⎨mini≤k≤jak×∑i≤k≤jak⎫⎭⎬\max_{1\leq i\leq j\leq n} \left\{ \min_{i\leq k\leq j} a_k\times\sum_{i\leq k\leq j} a_k \right\} 不知道能不能这么写。。 总之就是给出一串数,求某个区间的其内最小值与其和的乘积的最大值。由

2016-02-15 17:03:49 443

原创 BZOJ 3230 相似子串|后缀数组|RMQ

良心提示。 f=两子串的最长公共前缀后缀长度平方和的最大值。 因此开2个后缀数组分别处理前后缀。 而且得开long long..对于每个子串,其排名与后缀的排名有关,因此对于查询的子串我们找到产生该子串的后缀,而我们可以通过计算前i个后缀产生了多少个子串,并查询之得(STL大法好)。于是RMQ解决之。代码稍后贴…3230: 相似子串Time Limit: 20 Sec Memory Limi

2016-02-15 12:11:43 897

原创 SPOJ 705 New Distinct Substrings 后缀数组

LINK: http://www.spoj.com/problems/SUBST1/ bzoj 3230做着做着就滚来做这题了。。 求一个字符串的不等(?)子串个数。 比如字符串ababa,其排好序的后缀是: a aba ababa ba baba 然后每个后缀可以产生以其长度n−sai+1n-sa_i+1为个数的子串,但和有序上一个后缀会产生重复子串,个数为与其的公共前缀长度,因

2016-02-15 11:20:31 394

原创 BZOJ 2510 弱题 概率 矩阵乘法 循环矩阵

%%% http://hzwer.com/3392.html %%% http://blog.csdn.net/u012288458/article/details/46779357#include <cstdio>#include <cstring>typedef long long ll;#define rep(i,j,k) for(i=j;i<k;i++)using namespac

2016-02-14 23:16:11 777

原创 BZOJ 3306|树|树链剖分

和bzoj 3083比就是弱化版了。 样例都有点像? http://blog.csdn.net/huanghongxun/article/details/50663457#include <cstdio>#include <algorithm>using namespace std;const int N = 100005, M = N * 3, inf = 0x7fffffff;int

2016-02-14 18:46:51 607

原创 BZOJ 3083 遥远的国度 树链剖分

奇怪了以前见过这题的。。 题意:换根+子树查+链改。 树链剖分裸题。 换根讨论情况。 怎么样就只能第二页了。。 markdown的代码插入语言不能写c++得写cpp?#include <cstdio>#include <algorithm>using namespace std;const int N = 100005, M = N * 3, inf = 0x7fffffff;in

2016-02-14 16:40:28 556

原创 某主席树的的问题

Description给定一棵 N 个节点的树, 每个点 i 有权值 a[i] , 1 <= a[i] <= M . 有 Q 个询问, 对于询问 x,y,k , 分别输出树上从 x 到 y 的路径中, 权值小于/等于/大于 k 的点的数目.Solution恩。。权值线段树?还要判断区间,好吧上主席树咯。如果不在树上,那么查询[l,r]关于小于k的数目。我们对区间建立线段树,可持久化权值(不知道能不能

2016-02-13 12:40:27 925

原创 POJ 1129 Channel Allocation 图的染色 最大团

%%% http://www.cnblogs.com/zhj5chengfeng/archive/2013/07/29/3224092.html题意:对图染色,要求相邻节点不能同色,问最多要多少种颜色。其实应该是个平面图来着。。四色定理还没用呢。。不管那么多了。。首先,最少需要颜色种数的瓶颈在什么地方?自然是完全图,两两相邻,那么完全图的颜色种数自然是完全图的点数。那么对于一个

2016-02-11 15:09:55 596

原创 POJ 1419 Graph Coloring 最大独立点集->最大团 搜索

给定一个图,输出任意一种最大独立点集的方案。于是构建补图跑最大团即可。#include #include using namespace std;const int N = 105;int ans, f[N], set[N][N], a[N][N], tmp[N], group[N];bool dfs(int sz, int dep) { if (!sz) if (d

2016-02-11 14:45:02 496

原创 HDU 3585 Maximum Shortest Distance 最大团 二分答案

平面上有N个点,确定k个点使其中各点对距离的最小值最大。有多组数据。这个最优化问题本身似乎不好解决,所以还是二分一下吧。。如果已知距离的最小值mid,判定是否存在k个点且两两距离均超过mid。将距离超过mid的点连起来求一下最大团即可。二分的时候跪了。。判断二分结束的条件r - l > 1e-4,写1e-3就WA了。。这个故事告诉我们不要吝啬。。开够保证正确性为好。

2016-02-11 14:15:36 1032

原创 BZOJ 3632 外太空旅行 最大团

%%% http://www.cnblogs.com/zhj5chengfeng/archive/2013/07/29/3224092.html#include <cstdio>using namespace std;const int N = 55;int ans, f[N], set[N][N], a[N][N];bool dfs(int sz, int dep) { if (!sz

2016-02-11 11:19:35 469

转载 一个毫无意义的文章

回溯法解决问题的基本步骤: 针对所给问题,定义问题的解空间;确定易于搜索的解空间结构;以深度优先方式搜索解空间,并在搜索过程中利用Pruning函数剪去无效的搜索。 摘自百度百科。

2016-02-10 18:10:38 593

信息学竞赛离线评测软件

最受欢迎的信息学竞赛离线评测软件,需要提供输入输出文件,该软件将可以自动帮您运行程序(需要源代码),并输出得分。

2011-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除