自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

commonc的博客

一个(来自JL、现PKU18级)的(退役OIer、ACMer)、I wanna爱好者、(前)AKB粉、沉迷FM、R2beat系列忠实玩家、亚泰球迷。欢迎和我约PES、四国军棋、文明、亚泰球赛

  • 博客(17)
  • 收藏
  • 关注

原创 POI 题解

从2015年开始往前一点一点做的POI题解汇总(全中文!!!):POI2015POI2014POI2013POI2012POI2011

2016-09-01 15:59:48 2235 1

原创 BZOJ2086: [Poi2010]Blocks

题目大意:给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1。经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数都不小于k。M组询问这个询问条件可以转化为询问最长的平均数大于等于K的区间对于每组询问我们分别计算,先给每个数全都减去K,

2016-09-21 09:58:41 877

原创 BZOJ2093: [Poi2010]Frog

题目大意:给一条线上n个石头,青蛙从跳m步,每次跳到离当前第k近的石头,求以所有点为起点最终会跳到哪很关键的一步是求出从每个点跳一步会去到哪里这个可以用两个指针维护一段区间,代表前k近的石头的区间,然后从左到右扫一遍,指针也跟着平移,就能O(N)扫出来了之后的部分可以在环套树森林上DFS来O(N)出解,不过这个有点麻烦,于是我就写了个倍增(环套树倍增也算树倍增吧?)不过倍增

2016-09-21 09:27:54 793

原创 BZOJ2088: [Poi2010]Teleportation

题目大意:给一张图,要求你再尽可能的多连边,使得从1到2至少要经过5条边考虑最后建成的图应该是什么样子的,我们可以把n个点划分成6个集合:1所在的集合,A,B,C,D,2所在的集合然后相邻两个集合之间所有点连边,集合内所有点互相连边,其余没有边首先可以证明1所在的集合={1},因为如果你放了其他点进来,他就只能和1还有A连边,不妨把他放到A里,使其还能和B连边同理可证2所在

2016-09-21 09:00:14 884

原创 BZOJ2089&2090: [Poi2010]Monotonicity 2

题目大意:给一个数字串和一个符号序列,求一个最长的数字串子序列,使得相邻两项都满足对应位置的符号关系一开始想了个DP给否掉了.....结果貌似是对的.....和最长上升子序列类似,F[i]表示以i为结尾最远能匹配到符号序列的第几个可以画一画然后发现F[i]一定可以由前面的F[j]转移而来这样可以想到一个O(N^2)的暴力了,然后考虑优化求最长上升子序列的时候我们可以用一

2016-09-21 08:43:53 898

原创 BZOJ2140: 稳定婚姻

题目大意:给定n对夫妻关系,再给定m对情人关系。如果在第i对夫妻离婚的前提下,这些人仍然能组成n对夫妻,就称i这个婚姻是不稳定的。要求判断所有的婚姻稳不稳定设大写字母为男性则一对婚姻是不稳定的当且仅当A与a离婚,a与B情人,b与C情人,c与D情人.....x与A情人也就是说,假如把这张图看成一个二分图的话,对于所有婚姻关系从A向a连边,对于所有情人关系从a向A连边,假如能找到一

2016-09-21 08:03:04 699

原创 BZOJ2083: [Poi2010]Intelligence test

题目大意:给定一个数串,和m个小数串,问这些小串都是不是大数字串的子序列正常只有一个小串的话思路肯定是在大串上一个个扫,遇到和小串一样的就窜一位...我们可以用vector来让多个小串一起进行这个事情,这样大串只需要扫一遍就可以了...用vector存下现在每个小串的下一位,大串每前进一次就把所有符合条件的小串也前进一位,这样时间上限为所有字符串的总长度#inclu

2016-09-07 15:50:43 628

原创 BZOJ2081: [Poi2010]Beads

题目大意:给一个数串,求出在每段长度为i(1根据调和级数,枚举所有的长度,总段数是O(NlogN)级别的所以判重我们可以用hash和map,这样就可以在O(Nlogn^2)时间内出解PS:base设成233就WA,2333就过了真是厉害#include#include#include#include#include#define N 200010

2016-09-07 15:15:01 820 1

原创 BZOJ1576: [Usaco2009 Jan]安全路经Travel

题目大意:求从1到每个点不经过最短路的最后一条边的所有方案中的最短路首先构出最短路径树(有所有在最短路上的边构成的树)这样所有的答案路径都是从起点开始沿着树上的边走到一个点然后走一个不是树上的边,然后再在树上走这样对于一条非树边(u,v)他能更新的答案就是对于所有的在(u,v)树上路径上的点(不包括LCA)x,ans[x]=min(ans[x],dis[u]+dis[v]+w-

2016-09-07 11:21:33 804

原创 BZOJ4411: [Usaco2016 Feb]Load balancing

题目大意:给定n个点,请你确定一条横线和一条竖线,使得平面划分成的四个区域内点最大值最小首先枚举横着的那条线,然后考虑在这条线上方随着竖线的平移,上面两个区域的max函数是一个单峰函数,下面同理,所以将两个函数取max之后还是一个单峰函数,那么我们就可以用二分或者三分来求这个峰,这个答案就是当横线在这里的最小值#include#include#include#incl

2016-09-07 11:15:34 859

原创 BZOJ2962: 序列操作

题目大意:给定n个数,要求支持区间加,区间取相反数,区间查询任意选c(c<=20)个数的所有方案中乘积的和和维护k次方的和很像,想要维护选c个数,就要把选1~c个数的方案全部维护出来 这样当合并两个区间的时候(pushup),只需要枚举左右区间分别取了几个数即可现在考虑两种修改操作: 1.区间取相反数 发现这种操作只会影响区间选奇数个数的情况,把这些答案全部变成相反数即可 2.区间加 这个

2016-09-07 10:46:07 604

原创 BZOJ2425: [HAOI2010]计数

题目大意:给你一个最多50位的数,求在所有通过由他去掉0和重新排列数字顺序能产生的数中,比他小的有多少个首先位数少的肯定有去掉0的操作,我们可以默认是把0挪到了前面 问题就变成了把这些数字重新排列顺序能产生多少个比他小的数 首先需要知道当各个数字个数分别为a0,a1...a9a_{0},a_{1}...a_{9}时,自由排列能产生的数的个数为(a0+a1+...+a9)!a0!a1!...a9!

2016-09-07 10:14:41 1008

原创 BZOJ2095: [Poi2010]Bridges

题目大意:给一张图,每条边有一个a到b的代价,同时还有一个b到a的代价,求一个经过所有边所有点的路径使得路径代价最大值最小首先知道要二分,这样这张图就变成了一些边固定了方向而另一些边两个方向都可以走,这就是一个经典的混合图欧拉回路问题,直接求解即可混合图欧拉回路知识点讲解戳→这里#include#include#include#include #define N

2016-09-05 19:43:27 1045

原创 混合图的欧拉回路

前言:前几天做了一道混合图欧拉回路的题,感觉这个算法比较厉害,学完之后写在这里怕以后忘了 算法目的:求混合图(有的边是单向,有的边是双向)的欧拉回路 预备知识:1.无向图欧拉回路求法      2.有向图欧拉回路求法      3.网络流算法      (其实有向图的欧拉回路相对于无向图来说就相当于再限制一下每个点出度=入度即可,第一个和第三个不会就自己去学吧) 大概思路:先

2016-09-05 19:24:35 2938

原创 POI2011 题解

把BZOJ上的POI2011刷完了,本来想把整个POI2011都刷完的,但是正好这段时间POI官网挂了,交不了题,所以就只能做这么多了Stage I:  Conspiracy  Lollipop  Lightning Conductor  Shift  PlotStage II :  Strongbox  Difference  Garbage  T

2016-09-01 15:55:28 1140 2

原创 BZOJ1590: [Usaco2008 Dec]Secret Message 秘密信息

题目大意:给n条01信息以及m条01密码,求对于每条密码,有多少条信息与他的最长公共前缀=min(密码长度,该条信息长度)先对于信息建出一颗字典树,终止节点权值+1,然后每条密码的答案=路径上所有点的权值和+终止节点子树(不包括终止节点)权值总和所以我们可以建出Trie树之后pushup一下,就能得到每个点子树的权值总和,这样就可以O(密码长度)回答每个询问了#incl

2016-09-01 15:31:14 622

原创 BZOJ3364: [Usaco2004 Feb]Distance Queries 距离咨询

题目大意:给一棵树,求两点间的距离方向什么的根本没用,挺无聊的一道题随便以一个点为根,x,y之间的距离=d[x]+d[y]-2*d[LCA(x,y)]只需要求LCA就可以啦,树倍增随便搞#include#include#include#include#define N 100010using namespace std;int fa[N][21];in

2016-09-01 15:01:43 928

空空如也

空空如也

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

TA关注的人

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