自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZigZagK的博客

Never give up fighting!

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 【二分+最大流Dinic】BZOJ1305(CQOI2009)[dance跳舞]题解

题目概述一次舞会有 nn 个男孩和 nn 个女孩。每首曲子开始时,所有男孩和女孩恰好配成 nn 对跳交谊舞。每个男孩都不会和同一个女孩跳两首(或更多)舞曲。有一些男孩女孩相互喜欢,而其他相互不喜欢(不会“单向喜欢”)。每个男孩最多只愿意和 kk 个不喜欢的女孩跳舞,而每个女孩也最多只愿意和 kk 个不喜欢的男孩跳舞。给出每对男孩女孩是否相互喜欢的信息,舞会最多能有几首舞曲?解题报告先二分答案 mid

2017-11-30 20:39:31 374

原创 【区间DP】BZOJ1260(CQOI2007)[涂色paint]题解

题目概述一个木板,每个地方有目标颜色。每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。用尽量少的涂色次数达到目标。解题报告以前做过的题目……现在回头看发现不是非常难。定义 f[L][R][c]f[L][R][c] 表示 [L,R][L,R] 目前颜色为 cc ,涂成目标颜色的最小次数。那么每次先将左边和右边目标颜色为 cc 的地方无视掉,得到新端点 [l,r][l,r] ,然

2017-11-28 20:48:48 304

原创 【平衡树维护序列】BZOJ3506(Cqoi2014)[排序机械臂]题解

题目概述BZOJ原题意:同OJ1552。BZOJ1552:权限题。城市套路深,我要回农村。给出一个长度为 nn 的序列,执行 nn 次操作,第 ii 次操作需要找到 [i,n][i,n] 中最小的数所在的位置 pp ,并翻转 [i,p][i,p] 。ps:如果相同取位置靠前的。解题报告QAQ,查了两天,发现我没看到相同取靠前。于是我用基数排序将相同的硬是搞成了不相同的……直接Splay,只不过要多实

2017-11-28 19:08:45 304

原创 【巴什博弈】HDU2147[kiki's game]题解

题目概述一个棋盘,刚开始在 (1,m)(1,m) ,每次可以往左或下或左下走一步,问先手是否必胜。解题报告直接求 SGSG 函数就行了。但是如果把 SGSG 函数打表出来,会发现只要 nn 是偶数或者 mm 是偶数就能必胜,这好像就是巴什博弈???示例程序#include<cstdio>using namespace std;const int maxn=2000;int n,m;bool f[

2017-11-26 21:22:25 335

原创 【Anti-Nim】BZOJ1022(SHOI2008)[小约翰的游戏John]题解

题目概述有 nn 堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一粒石子的人算输。小约翰先取石子,预测一下谁将获得游戏的胜利。解题报告反 NimNim 游戏……安利ZXLdalao的博客。示例程序#include<cstdio>using namespace std;const int maxn=50

2017-11-25 11:07:11 284

原创 【SG函数】BZOJ1188(HNOI2007)[分裂游戏]题解

题目概述游戏规则:共有 nn 个瓶子,第 ii 个瓶子中装有 pip_i 颗巧克力豆,两个人轮流取豆子,每一轮每人选择瓶子 i,j,k,i<j≤ki,j,k,i<j\le k 且第 ii 个瓶子中至少要有 11 颗巧克力豆,随后这个人从第 ii 个瓶子中拿走一颗豆子并在 j,kj,k 中各放入一粒豆子。如果轮到某人而他无法按规则取豆子,那么他将输掉比赛。问先手第一次操作后使对手必败的方案数。解题报告

2017-11-25 09:35:14 320

原创 【SG函数】HDU1847[Good Luck in CET-4 Everybody!]题解

题目概述有 nn 张牌,每次可以拿走 2i2^i 张牌,拿走最后一张牌的人获胜,求先手是否必胜。解题报告先求出 [1,maxn][1,maxn] 的SG函数,然后判断SG(n)是不是 00 就可以了。这个数据范围是给 O(n2)O(n^2) 的吧……实际上 O(nlog2n)O(nlog_2n) 就行了。示例程序#include<cstdio>using namespace std;const

2017-11-23 20:20:19 218

原创 【二分】BZOJ1816(Cqoi2010)[扑克牌]题解

题目概述你有 nn 种牌,第 ii 种牌的数目为 cic_i 。另外有一种特殊的牌:joker,它的数目是 mm 。你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成 11 套牌。给出 n,mn,m 和 cic_i ,你的任务是组成尽量多的套牌。每张牌最多只能用在一副套牌里(可以有牌不使用)。解题报告不难……NOIP之后(期中考试之前)的放松题。首先想到二分

2017-11-18 22:25:16 326

原创 (补)NOIP2017Day2暴力记

心路历程传送门T1给出几个球的圆心坐标 (x,y,z)(x,y,z),以及所有球的半径 RR 和上边界 HH (下边界为 00 ),问是否可以从下边界穿越球到上边界。直接并查集判断一下就行了。考完之后听说要卡常QAQ,我是不是要gg了??T2给出 nn 个点 mm 条双向边,现在要选出一棵有根树,一条边权为 ww 的边 (u,v)(u,v) 的代价是 dep(v)×wdep(v)\times w ,

2017-11-18 18:48:12 672

原创 NOIP2017Day1酱油记

心路历程传送门T1求两个互素的数 A,BA,B 无法组成的最大的数。找呀找呀找规律,发现答案是 AB−A−BAB-A-B 。 对拍了一下好像没有毛病,JZdalao说他证明出来了Orz。 之后听说是小学奥数题???真是恐惧QAQ。T2给出一连串循环(可以嵌套),循环起点和终点要么是常数要么是 nn 。求时间复杂度是否与给出的一致。大力模拟题……开个栈乱搞……班主任(?)保佑我T2不炸……T3给出

2017-11-11 20:41:27 623

原创 【二分图最大独立集】BZOJ4808[马]题解

题目概述给出 n×mn\times m 的棋盘(有些位置有损坏),问最多能在其中放多少互不吃到的马(不能放在损坏位置中)。解题报告NOIP2017前的最后一题QAQ。首先将棋盘 0101 间隔染色,然后就成了二分图。由于要放最多的马,其实就是最大独立集。最大独立集 == 点数 −- 最小点覆盖 == 点数 −- 最大匹配。示例程序#include<cstdio>using namespace st

2017-11-10 21:40:15 368

原创 【桥】HDU4738[Caocao's Bridges]题

题目概述给出 nn 个点, mm 条边的无向图。求边权最小的桥。ps:这题有毒,当边权为 00 的时候要输出 11 ,图不连通时输出 00 。解题报告桥连接着两个边双联通分量,删去桥时整个图的连通块数会增加。求桥有两种方法:1.求出边双,不在边双中的就是桥。2.一条边 (x,y)(x,y) 是桥当且仅当 dfn[x]<low[y]dfn[x]<low[y] 。只求桥的时候采用后者较为方便。示例程序因

2017-11-10 16:43:12 322

原创 【期望DP】BZOJ1419[Red is good]题解

题目概述有 AA 张红牌, BB 张黑牌。现在将 A+BA+B 张牌打乱,每次翻牌。翻到红牌得到一元钱,翻到黑牌失去一元钱。可以随时停止翻牌,求在最优策略下得到钱数的期望。解题报告期望DP通用套路,倒着来。定义 f[i][j]f[i][j] 表示剩下 ii 张红牌, jj 张黑牌得到钱数的期望。那么 f[i][j]=ii+jf[i−1][j]+ji+jf[i][j−1]f[i][j]=\frac{i

2017-11-10 15:04:22 424

原创 【卡特兰数】BZOJ1856(Scoi2010)[字符串]题解

题目概述给出 n,mn,m ,若一个 0101 序列在任意位置满足 11 的个数大于 00 的个数,则该序列是满足条件的。求由 nn 个 00 , mm 个 11 组成的满足条件的序列个数。解题报告n=mn=m 的时候显然是卡特兰数, n>mn>m 其实和卡特兰数类似。先算出所有序列的个数,方案是 (n+mn)n+m\choose n ,然后算出不满足条件的序列个数。怎么算?将 11 看成向上走,

2017-11-10 11:23:29 312

原创 【组合+错排】BZOJ4517(Sdoi2016)[排列计数]题解

题目概述如果 ai=ia_i=i 则 ii 是稳定的。给出 n,mn,m ,求稳定数为 mm 的 nn 的排列的个数。解题报告其实很简单……先选出 mm 个稳定位置,然后另外 n−mn-m 强制不稳定。强制不稳定也就是 ai≠ia_i\not=i ,即错排。结果发现我并不记得错排了……于是去看了一下……读者老爷先看代码吧……我明天填坑……示例程序#include<cstdio>#include<c

2017-11-09 22:59:48 438

原创 【组合】Codeforces40E[Number Table]题解

题目概述有 n×mn\times m 的 1,−11,-1 矩阵,现在 k(0≤k<max{n,m})k(0\le k<max\{n,m\}) 个位置已经确定,求每行每列乘积均为 −1-1 的方案数。解题报告好题!注意到 0≤k<max{n,m}0\le k<max\{n,m\} ,所以至少有一行或一列是没有任何一个元素确定过了的。令 n>mn>m ,我们可以先把其他 n−1n-1 行确定下来(组合

2017-11-09 11:24:16 292

原创 【高维前缀和】Codeforces165E[Compatible Numbers]题解

题目概述给出序列 {an}\{a_n\} ,对于每个 ii ,输出任意一个满足 ai and aj=0a_i\ and\ a_j=0 的 aja_j 。解题报告这种东西马上想到高维前缀和求超集……不过只需要求任意解,所以更简单了……网上好像有用状压DP做的……我不清楚……(高维前缀和算状压吧QAQ?)示例程序#include<cstdio>#include<cctype>#include<cst

2017-11-06 15:05:42 354

原创 【DP】BZOJ1084(SCOI2005)[最大子矩阵]题解

题目概述有一个 n×mn\times m ( m≤2m\le 2 )的矩阵,选出其中 kk 个子矩阵,使得这 kk 个子矩阵分值之和最大。选出的 kk 个子矩阵不能相互重叠。解题报告因为只有两列……所以随便定义一下就行了。定义 f[i][s][k]f[i][s][k] 表示前 ii 行,第 ii 行的状态为 ss ,选了 kk 个子矩阵的最优解,状态有:00 :不选第 ii 行。11 :选第 i

2017-11-05 16:07:09 313

原创 【区间DP】POJ3280[Cheapest Palindrome]题解

题目概述给出 nn 个小写字母(有插入代价以及删除代价)以及长度为 mm 且只包含给出小写字母的字符串。插入和删除可以在任意位置进行,求最小代价使得该字符串变为回文串。解题报告千万不能想得太复杂……其实很简单……定义 f[i][j]f[i][j] 表示使原串中 [i,j][i,j] 变为回文串的最小代价,那么有三种策略:将 [i+1,j−1][i+1,j-1] 变为回文串,然后用最小代价使两端的

2017-11-04 16:51:53 198

原创 【区间DP】POJ2955[Brackets]题解

题目概述给出一个长度不超过 100100 的括号序列( ()[]()[] ),一个合法的括号序列要么是空序列,要么满足:如果 ss 是合法序列,则 (s),[s](s),[s] 也是合法序列。如果 x,yx,y 是合法序列,则 xyxy 也是合法序列。求给出括号序列的最长合法子序列的长度。解题报告显然是区间DP,定义 f[i][j]f[i][j] 表示 [i,j][i,j] 的最优解,那么根据

2017-11-04 13:32:30 521

原创 【数位DP】HDU3943[K-th Nya Number]题解

题目概述Nya数有 XX 个 44 和 YY 个 77 ( X,YX,Y 给出),求 (l,r](l,r] 中第 kk 小的Nya数。解题报告对于我这种英语盲……英文题面容易漏条件……题目要求 (l,r](l,r] 但是我看成 [l,r][l,r] ……定义 f[i][x][y]f[i][x][y] 表示选了 ii 位有 xx 个 44 , yy 个 77 的方案数。然后二分一下就行了。好像有非二分

2017-11-03 21:24:43 261

原创 【数位DP】HDU3652[B-number]题解

题目概述求 [1,n][1,n] 中含有 1313 且是 1313 的倍数的数的个数。解题报告因为在复习,所以水博客就做了一下。常用套路,定义 f[i][j][k]f[i][j][k] 表示放了 ii 位余数( mod 13mod\ 13 )为 jj 状态为 kk 的方案数( 00 :没有 1313 ; 11 :没有 1313 ,目前高位是 11 ; 22 :有 1313 ),然后直接记忆化DFS就

2017-11-03 20:33:15 346

原创 【DP】RQNOJ107[Ural的鹰蛋实验]题解

题目概述经典的鹰蛋问题,就因为懒所以不写了。解题报告不知道大家第一想法是不是二维DP,反正我不是……2015年,当我还是普及组大菜鸡(现在是提高组大菜鸡)时,我看到了这道题。然后根本不会,直到教练下发题解……题解上是……没错……区间DP f[L][R][egg]f[L][R][egg] ……(黑历史完……)显然所有区间都是等价的,唯一重要的是区间长度,所以可

2017-11-02 21:51:43 505 2

原创 NOIP2017考前复习

蒟蒻复习ing,仅供参考

2017-11-02 16:36:51 515

原创 【单调队列】BZOJ1047(HAOI2007)[理想的正方形]题解

题目概述有一个 a×ba\times b 的整数组成的矩阵,从中找出一个 n×nn\times n 的正方形区域,使得该区域所有数中的最大值和最小值的差最小。解题报告水博客……解法很多,可以二维ST表,线段树套线段树(雾)……O(n)O(n) 解法好……先按照行做单调队列预处理出每个点向左推 nn 个的极值,然后按照列做单调队列求出每个点向上向右推 nn 个的极值就行了。示例程序#include<c

2017-11-01 22:25:44 286

2012年noi冬令营陈立杰讲稿

丽洁姐的后缀自动机讲解!

2017-07-02

空空如也

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

TA关注的人

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