
其他题型
文章平均质量分 70
ww140142
wwwwwww
展开
-
poj-1279 Art Gallery
题意:给出一个n个点的多边形,求多边形核的面积;多边形的核即为多边形内部的点集,使其中的点可以看到多边形的任意顶点和边;n题解:这应该也算是模板题的一种吧;求多边形核的方法现在是O(nlogn)的;将所有的直线按极角排序(math库中atan2()函数),然后线性的在双端队列里面搞搞;这样求出了半平面交的边集,也顺带求出了点集;求面积的话就直接叉积扫原创 2015-09-07 13:35:33 · 2081 阅读 · 0 评论 -
bzoj-2093 Frog
题意:数轴上有n个点,有一个青蛙在这些点上跳;规则是每次向距当前点第k小的点跳,如果有相同距离则向下标较小的跳;求从每个点出发跳了m次后在哪里;1题解:我真是不知道这题出long long 的意义是啥。。数据范围比较极限,略卡,加点读入优化啥的卡常数才过;不过Poi上还是挺良心的,除了偶尔乱入的波兰文以外;这题后半部分显然就是置换的快速幂;主要问题是原创 2015-09-21 10:21:51 · 1620 阅读 · 0 评论 -
bzoj-2960 跨平面
题意:给出一个平面图,每条边从不同方向各有一个跨越代价(或者不能跨越);求一个最小总跨越代价,使从某个平面区域能跨越到所有其他区域;即在此平面图的对偶图上求最小树形图;平面图中点数题解:实际上这是两道裸题。。。然后我作死的学了两种算法;首先是平面图转对偶图:首先将无向边拆成两条单向边,按顺/逆时针挂在端点上;每一次从一条没有经过的单向边出发,深搜原创 2015-11-10 10:18:30 · 1532 阅读 · 0 评论 -
bzoj-2797 Squarks
题意:有一个长度为n不降的数列,每次取两个不同的数相加,共有n(n-1)/2个和;现给出这些和,要求还原出这个数列;可能有多种情况,按字典序从大到小输出;n题解:首先我们列出表格之后可以发现,数列中最小的数和次小的数一定分别是x[1]+x[2]和x[1]+x[3];而为了解出解,我们还需要一个x[2]+x[3],但是它可能为第[3,n]小的数;它只可能比原创 2015-10-08 13:51:35 · 1197 阅读 · 0 评论 -
bzoj-1137 Wsp 岛屿
题意:给出一个凸多边形,顶点顺时针标为1到n,每两个点之间有一条道路;道路的权值为两点欧几里得距离,可以通过道路的交点直接切换道路;有的边不能直接通过,但是可以通过这条边到没被监视的相交的边;求1到n的最短路;n注:此题似乎叫WYS。。大概是BZ标错了吧;题解:Poi2009~题中有一个重要信息就是顶点为顺时针给出;那么1与n是相邻的顶点(当然正常人原创 2015-09-16 22:40:58 · 1501 阅读 · 0 评论 -
bzoj-2525 Dynamite
题意:给出一颗n个结点的树,上面有若干个关键结点;现在可以在这些结点上选最多m个点,求最小化关键点到选择点的最大距离;题解:首先这道题是一个最大最小化的问题,很容易想到二分;二分一个数L表示答案的;然后问题就转化成了一个判定性问题:判定能否用m个点覆盖整个树上的关键点;判定过程是贪心的;设dis[x]为x的子树中最近的选择的点的距离,g[x]为x的子树中最远原创 2015-10-03 17:44:12 · 2054 阅读 · 0 评论 -
hdu-5524 Product
题意:n因为答案可能很大,所以只要输出模1000000007后的值就可以了;多组数据,所有数据的n的和题解:挺有意思的一道数论题,虽说比赛的时候并没有推出来就弃疗啦;首先因为N的质因子都在n的范围内,所以我们可以预处理一些素数啊,最小素因子之类的东西;然后我们得到了N=p1^t1*p2^t2*p3^t3...pk^tk这种形式的N;计算约数积,我们考原创 2015-11-04 13:47:55 · 1389 阅读 · 0 评论 -
bzoj-1128 Lam
题意:给出一个长度为n的数列p,数列中数字两两互质;有一个无限长的寄存器,现从p[1]开始,依次将其所有的倍数在寄存器中置为p[i];求最后每个数字所染色区域在寄存器中占比,用一个既约分数表示;n题解:这傻逼题我居然傻逼了一晚上;说白了就是一个递推,f[i]=1/p[i] *Π(p[j]-1)/p[j];这坨东西多好推啊,要是这题输出浮点数多好;然并卵,原创 2015-09-15 07:32:05 · 1285 阅读 · 0 评论 -
bzoj-3207 花神的嘲讽计划Ⅰ
题意:给出一个长度为n的序列,有m个询问;每次给出一个区间[l,r]和一个长度为K的短序列;查询区间中是否存在这个子串;1题中所有数据不超过2*10^9;保证方案序列的每个数字题解:这题我读了好几遍没读懂,看了题解才知道这问的是查询一个固定长度的字符串是否在区间出现;然后就是简单题了,用Hash来搞;处理原串中所有的Hash值,然后如果[l,r]存在一个原创 2015-09-30 21:00:02 · 931 阅读 · 0 评论 -
hdu-5434 Peace small elephant
题意:要求在nxm的棋盘上放置小象,要求没有小象互相攻击;小象的攻击方式如下所示;求在棋盘上有多少摆放的方式;1题解:数据范围出卖了做法。。。7有啥做法。。状压。。一亿怎么做。。log。。然后这题就是状压+矩乘的递推咯,复杂度在5s内是可以跑出来的;首先就是如何构造矩阵;实际上还是求出那些状态之间可以互相转移,然后拿临界矩阵去乘;对于两个原创 2015-09-13 18:08:28 · 1119 阅读 · 0 评论 -
bzoj-2300 防线修建
题意:给出一个点集,每次可能删去一个点或查询上凸包的面积;保证无重点,保证最左面 最右面的点一定在凸包上;n题解:动态凸包问题,然而这道题的保证简直极为良心;所以呢,我们就可以用set来水这道题啦;我还是涨了不少姿势的,比如迭代器居然可以自减;离线所有的操作之后处理,就是凸包加点了;每次来一个点,判断一下加不加入,之后左面干点右面干点,插进去就好了;原创 2015-09-30 07:29:30 · 1299 阅读 · 0 评论 -
bzoj-2178 圆的面积并
题意:给出平面上的n个圆,求它们的面积并;n题解:这题似乎有很多种姿势来解,我学了一种比较Simple的;对于三次以下多项式函数的定积分,有一个Simpson公式:∫[l,r]f(x)=(r-l)(f(l)+f(r)+4f(mid))/6公式可以利用导数证明,但是对于三次以上或者其他函数是不成立的;比如圆的参数方程,三角函数之类的奇怪东西;虽说如此,不成原创 2015-09-08 10:35:34 · 2423 阅读 · 0 评论 -
hdu-5481 Desiderium
题意:给出一个区间的集合,求所有集合子集中区间并的长度和;集合大小题解:这次BC打的几乎是爆炸的。。没掉出DIV1真是万幸啊;T1我逗比的写了一个线段树还SB的不对,发现不对劲已经半个小时了;扔了T1搞T2还调了半天结果-5,觉得滚粗就走人啦;言归正传,这题直接考虑显然是不行的,所以考虑离散之后统计每个小区间的贡献;先累加每个区间覆盖次数,直接上个线段树搞;原创 2015-09-27 19:43:42 · 1220 阅读 · 1 评论 -
poj-2826 An Easy Problem?!
题意:给出平面上的两条线段,现在有竖直下落的雨;求这两条线段最多能接到多少雨;题解:听起来挺朴实的一道题,但是并不怎么好做,因为计算几何的实数。。实际上可以把这道题分为两个步骤:判断水能不能进入容器,计算容器能装多少水;第二步比较容易,我直接底乘高乱搞了;主要是对接水的判断,这一步有一个挺正确的性质:线段口的向量在较高边的向量和竖直向量中间的时候,接不到水;原创 2015-09-06 22:27:47 · 1755 阅读 · 0 评论 -
Nescafé 41-异化多肽polypeptide
题意:给出m个氨基酸的质量,不考虑脱水缩合等生物因素;问拼成质量为n的多肽有多少种方案;n,m题解:该来的毒瘤总是要来,所以生成函数啥的引入OI真是太不OI了(笑);不过这题还不算虐心。。似乎。。先上一个生成函数——F(x)表示氨基酸的生成函数,有一种质量为i的氨基酸,x^i前的系数就+1;那么答案(显然)是F(x)+F^2(x)+F^3(x)+F^4(x)原创 2015-09-11 14:49:20 · 1675 阅读 · 0 评论 -
Contest Hunter - Handle
题意:令b[i]=∑C[j][i]*a[j];0现给出b[i],求a[i],取模998244353;此题为ch【弱省胡策】Round #5比赛的T3;题解:生成函数多项式啥的。。真是一大毒瘤;首先把组合数拆开,得到b[i]=∑(j!/(j-i)!/i!)*a[j];(i同乘i!,b[i]*i!=∑a[j]*j!/(j-i)!;(i再定义B原创 2015-09-11 10:58:38 · 1199 阅读 · 0 评论 -
bzoj-2795 A Horrible Poem
题意:给出一个长度为N的字符串,有Q次询问;每次询问给出一个区间,求区间最短循环节长度;N题解:这题数据范围简直丧病= =渣电脑3s真的能跑出来吗。。。不过这题在BZ上是可做的,50s我的程序10s出解了;首先这问题画一画发现它绝对不是什么数据结构能维护的,因为这东西毫无可并性;硬说的话多个相同的的连在一起的循环节可以合并变长,然并卵;所以如果考原创 2015-09-07 07:46:19 · 2405 阅读 · 0 评论 -
bzoj-2084 Antisymmetry
题意:定义一个串反对称 为 将其01取反之后,翻转之后与原串相同;给出一个长度为n的01串,求这个串中有多少子串为反对称串;n题解:马拉车算法。。然而作为一个蒟蒻我还是滚回去复习了一遍manacher啥的;首先这题有个性质:反对称串一定是偶数长的串;所以我们其实跑的只是偶数串的算法,也就是可以不加#分隔的姿势;原创 2015-09-22 07:23:54 · 1242 阅读 · 0 评论 -
bzoj-1098 办公楼biu
题意:给出一个图,求其补图的连通块个数与大小;原图点数n题解:这道题主要是对于复杂度的优化分析上吧;一开始有个显然的O(n^2*α(n))暴力做法,枚举每一条补图中的边然后并查集啦;这样空间与时间都是无法接受的;考虑另一种做法:每次枚举一个未在连通块的点,然后从它开始宽搜出它所在的连通块;具体是枚举它的所有原图的边,标记起来,枚举边之后再枚举所有的点,将未标原创 2015-10-10 16:37:56 · 2299 阅读 · 0 评论 -
bzoj-2765 铁人双项比赛
题意:现在有n个选手和长度为s的赛道;现要将赛道分为前后两段,前半段长度为k;第i个选手在前半段的速度是v1,后半段的速度是v2;求一种对第n个选手最有利的一个k,使其领先第二名尽可能多;如果他不可能第一,输出NO;题解:列出第i个选手到终点的时间ti=k/v1i+(n-k)/v2i;化简ti=(1/v1i-1/v2i)*k+n/v2i;设k为x轴,时间原创 2015-10-10 17:23:51 · 1220 阅读 · 0 评论 -
bzoj-1488 图的同构
题意:求n个点,无重边无自环,本质不同的无向图的个数;本质不同指将两个图任意重新标号之后两个图不相同;n题解:首先这是一道置换计数的题目;我们应用polya定理解决这道题;考虑每条边选或不选,这就是两种颜色;那么就是求每种置换方式的边循环个数;置换方式就是对于点的重标号,这是有n!种的啊;然而这n!中有一些情况的答案是一样的,因为其实答案只和点循环中原创 2015-08-29 17:24:38 · 1579 阅读 · 0 评论 -
uoj#35: 后缀排序
题意:给出一个字符串;求这个字符串的后缀数组和height数组;字符串长度题解:后缀数组纯裸题;不得不说众人的力量是伟大的,VFK的毒瘤功底是有目共睹的;A掉这道题,模板又是有了一些改动= =;总之uoj的数据真挺强的,推荐去交一下;而且可以看WA的测试点。。然后我case1case2case3连挂三次。。代码:#includ原创 2015-09-02 16:08:04 · 673 阅读 · 0 评论 -
bzoj-3771 Triple
题意:给出n个互不重复的数字;现在选出一个两个或者三个数字,失去它们加和的权值,求每种损失的方案数;多个数字相同而顺序不同算一种方案;每个数字题解:不要问n的范围!不要问n的范围!不要问n的范围!恩如果你没有发现互不重复那么你离我也不远了(大雾);这道题主要的思路是这样的;考虑一个类似生成函数的东西;对于每一种损失,都是几个物品的损失加和恰好原创 2015-09-02 19:25:01 · 933 阅读 · 0 评论 -
bzoj-3796 Mushroom追妹纸
题意:给出三个字符串s1,s2,s3;求一个最长的串满足:1.它是s1的子串;2.它是s2的子串;3.s3不是它的子串;s1,s2长度题解:这道题的前两个条件算是比较裸吧;求后缀数组,二分答案,在height数组上验证;如果不会的去看看我之前的题解吧(笑)——链接;至于第三个条件,这尼玛实在是太容易看错了啊!如果是“它不是s3的子串”那直原创 2015-09-03 14:15:11 · 1147 阅读 · 0 评论 -
CF286D/bzoj-4223 Tourists
题意:直角坐标系下,在一些时刻会有两个游客分别同时从点 (−1, 0) 和 (1, 0) 出发;每一对游客每秒都向 y 轴正方向前进一个单位长度;在一些时刻墙会出现,墙 (li,ri) 是一条在点 (0,li) 和(0,ri) 之间的线段;给出 m 堵墙的出现时间 ti 以及出现的区间,给出 n 对游客出发时间 qi;请求出对于每一对游客有多长时间无法彼此望见。n,m原创 2015-12-04 14:10:00 · 1470 阅读 · 0 评论 -
bzoj-3625 小朋友和二叉树
题意:给出一个大小为n的集合C;对于i=1...m计算有多少二叉树满足每个节点的权值都在集合C中且所有结点权值和为i;对998244353取模,左右儿子有别;题解:生成函数系列题解之三?这题先对C搞个生成函数吧,令其为C(x);而我们要求的是树的计数的函数F(x);列一下方程,F(x)=C(x)*F^2(x)+1;F^2(x)表示它的左右儿子的方案,原创 2015-09-11 20:55:37 · 2991 阅读 · 0 评论 -
bzoj-3456 城市规划
题意:求n个点的无向连通图个数;n个点不同,答案对1004535809取模;n题解:生成函数的种种神奇应用;不过这玩意真是越来越不OI了(笑);这道题首先考虑递推公式;设f[x]为结点数为x的答案;那么用总的无向图数减去不连通的无向图数目就是答案;f[i]=2^(i*(i-1)/2)-∑f[j]*2^(j*(j-1)/2)*C[i-1][j-1];(原创 2015-09-13 14:22:34 · 2176 阅读 · 0 评论 -
CF235C Cyclical Quest
题意:给出一个字符串s;n次询问某个字符串xi的循环同构串在s中出现多少次;|s|,∑|xi|题解:WJMZBMR场的SAM题。。。感觉还没学多久的后缀自动机姿势已经忘光了。。。悲伤哦;首先考虑如何查询一个xi串在s中出现了多少次,这个只要直接用s的后缀自动机的trans指针匹配,然后得到的结点的right值就是答案了;那么一个串xi的所有循环同构串就是将其原创 2015-12-02 19:01:59 · 1009 阅读 · 0 评论 -
CF286E Ladies' Shop
题意:对于一个待求的集合{ai},用其对1-m中的所有数做完全背包,能装满n种大小的背包;现给出n种背包{b1...bn}和m,求这个集合最小的大小并任意给出一种方案;题解:对于这个题最简单的集合就是{bi},而如果{bi}集合不合法的话,原问题就无解了;判断这个集合不合法等价于集合中存在两个元素i,j且i+j∉该集合 (i+j直接做是O(n^2)的,而可以发现将原原创 2015-12-01 14:20:59 · 2015 阅读 · 0 评论 -
bzoj-3676 回文串
题意:给出一个长度为n的字符串,求它的某个回文子串长度乘出现次数的最大值;n题解:据说这题用回文自动机回文树之类的东西有一些更优的解法?然而回文自动机似乎是在这题之后被引入OI的23333;所以还有一些听起来比较靠谱的解法。。我们先考虑求出所有的回文子串,由于一些原因这些本质不同的回文子串最多有O(n)个;利用manacher算法算出每个回文子串的位置与长度原创 2015-11-16 20:18:17 · 2070 阅读 · 0 评论 -
CF335E Counting Skyscrapers
题意:现有一排摩天大楼,每个大楼高度为i的概率为2 - i-1,且高度从0开始计算;每两个能看见的相同高度的楼层之间都有滑索相连,权值为2^高度;A的值为摩天大楼个数;B的值从1开始累加,一个人从1出发,每次在这个楼最高的滑索向右滑,并在计数器上加这个滑索的权值;而因为这个人有恐高症,所以他不会经过高度超过h的楼层;已知A或者B的值n和高度限制h,求另一个计数器的期原创 2015-11-30 13:35:56 · 2141 阅读 · 1 评论 -
bzoj-2780 Sevenk Love Oimaster
题意:给出n个字符串和m个询问串;求每个询问串是多少个字符串的子串;n字符串总长度题解:传说中的多串匹配用的广义后缀自动机;构建上的不同只在当trans(last,x)这个状态存在的时候,要进行一个讨论;(当然,在单串的自动机中last不会有任何trans转移,所以这种情况只会在广义后缀自动机中出现;具体就是如果last和trans(last,x)的le原创 2015-11-19 07:43:16 · 1134 阅读 · 0 评论 -
bzoj-2555 SubString
题意:给出一个字符串和m次操作;每次有两种操作,"ADD"在串后面再加入一个串,"QUERY"查询询问串在整个字符串出现了多少次;强制在线;题解:考虑对原串构建后缀自动机,并利用其为增量法构建的原理维护"ADD"操作;然后因为这是一个自动机,所以它可以用来识别原串所有的后缀,当识别未完成时,得到的就是一个子串;那么当延trans指针走了自动机上的某个状态,这个状原创 2015-11-19 22:28:58 · 1789 阅读 · 0 评论 -
SPOJ NSUBSTR
题意:给出一个字符串,求这个字符串长度为1-n的子串的最大出现次数;字符串长度题解:几天没更新,水一发后缀自动机的题解吧;首先定义后缀自动机的的right集合大小,就是该结点代表的状态能拓展到的子串种类;那么对于长度为x的子串的答案就是所有长度>=x的结点的right值的最大值;right值是不能再构建自动机时增量维护的,所以只能在构建这个后缀自动机之后再O(n原创 2015-11-18 23:01:11 · 1729 阅读 · 0 评论 -
bzoj-1535 Sza-Template
题意:给出一个长度为n的字符串,求用它的一个子串作为模板能粘贴出整个字符串的最小长度;n题解:首先我们可以知道,这个模板串一定是既为原串的一个前缀也为它的一个后缀的,否则并不能拼出来这个字符串那么利用KMP或AC自动机构建出fail树,答案只可能出现在树中(root,n]这条路径上;那么问题就是:枚举树上的每一个点(也是串中的一个前缀),判断它是否能覆盖整个字符串,原创 2015-10-30 16:17:28 · 1849 阅读 · 3 评论 -
bzoj-3238 差异
题意:给出一个长度为n的字符串;求这个字符串任意两个后缀的LCP的和;n题解:问题啥的说成这样就可以嘛= =,那些奇怪的加加减减有啥意义;这道题是求和,而枚举i,j,利用后缀数组+RMQ可以O(n^2logn),但是依然不行;考虑到LCP是两个串之间height的最小值,那枚举LCP的值可以吗?对于一个height[i]来说,它的值可以影响到它两段heigh原创 2015-09-04 21:53:19 · 822 阅读 · 0 评论 -
bzoj-3118 Orz the MST
题意:给出一个无向连通图,并指定其中一颗生成树;每条边上有一个权值vali,如果增大这个权值1则花费Ai,减小1花费Bi;现在要使指定的生成树为一颗最小生成树,求最小花费;n题解:一道线性规划比较神的题目,前面刷的比较偏水就不刷了;首先有一点极为显然的东西(我居然没看出来),树上的边一定减小权值,非树上的边一定增大权值;然后考虑对于一颗生成树要为最小要满足的原创 2015-08-21 18:47:05 · 1237 阅读 · 0 评论 -
bzoj-2151 种树
题意:给出一个n个点的环,每个点有一个有正有负的权值;现要在其中选出m个互不相连的点,使权值和最大;对于85%的数据:n对于100%的数据:n题解:论如何出一道大家都开心的题;只要给暴力85分就好啦!贪心的取可以取的最大权值肯定不行,所以考虑动态规划;对于动态规划的状态,一定要有前i个这个状态,也不能省略选了j个的记录;所以设f[i][j]为原创 2015-09-10 21:30:24 · 1855 阅读 · 0 评论 -
poj-1066 Treasure Hunt
题意:有一个100大小的矩形房间,房间内有n堵墙;每一堵墙都是横跨房间的,并且没有三个墙交于一点;房间中的某个点有宝物,问从房间外面打破几道墙能到达宝物的地方;题解:思路十分神奇的一道题;首先比较直观的思路就是建立对偶图跑最短路;但是这我也不会写啊= =;考虑到这些墙有一些特殊性——横跨房间;就有了一种神奇的算法:枚举房间外层的点,判断对于每一堵墙起原创 2015-09-05 15:44:12 · 906 阅读 · 0 评论 -
poj-1265 Area
题意:给出一个顶点在格点上的多边形,顶点逆时针给出;求1.多边形内部格点数,2.多边形边上格点数,3.多边形面积;题解:本题问题顺序与难度无关!看完了pick定理之后,我猜测是用前两个格点数求出图形面积!然后我特么就傻x了!真相其实还是用叉积来求面积。。。然后记录边上的格点数,也就是边这个向量的gcd(x,y)注意x,y应该取绝对值,否则求出来一个负数岂原创 2015-07-31 19:15:45 · 626 阅读 · 0 评论