
省选
文章平均质量分 70
Frods
这个作者很懒,什么都没留下…
展开
-
[ZJOI2007]矩阵游戏 二分图匈牙利算法
题意:给定01矩阵,可以行列交换,问是否可以使左上到右下的一条对角线全为1。 分析:匈牙利算法,把每个数的行列连一条边,看能否全部匹配。 注意:匈牙利算法dfs里面要dfs(match[i])。#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const int原创 2017-01-01 22:10:48 · 404 阅读 · 0 评论 -
[SDOI2011染色]树链剖分
题意:将路径上的点全部变成c 询问路径上的颜色段数。 树链剖分:维护一下颜色段数,左端颜色,右端颜色,注意询问的时候要push_down(),还有合并时要注意判断,而不是简单的直接相加。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<vector> #define lc o<<1 #de原创 2017-01-18 19:54:54 · 333 阅读 · 0 评论 -
[ZJOI2009对称的正方形]ST+Manacher
题目描述Orez很喜欢搜集一些神秘的数据,并经常把它们排成一个矩阵进行研究。最近,Orez又得到了一些数据,并已经把它们排成了一个n行m列的矩阵。通过观察,Orez发现这些数据蕴涵了一个奇特的数,就是矩阵中上下对称且左右对称的正方形子矩阵的个数。 Orez自然很想知道这个数是多少,可是矩阵太大,无法去数。只能请你编个程序来计算出这个数。 输入输出格式 输入格式:文件的第一行为两个整数n和m。接下原创 2017-01-21 20:03:12 · 379 阅读 · 0 评论 -
bzoj3110[ZJOI2013]K大数查询 树套树
题目描述有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。输入输出格式输入格式: 第一行N,M接下来M行,每行形如1 a b c或2 a b c输出格式: 输出每个询问的结果 输入输出样例输入样例#1: 2 5 1 1 2 1 1 1 2 2原创 2017-02-12 15:30:51 · 608 阅读 · 4 评论 -
[ZJOI2009狼与羊的故事]网络流
题目描述“狼爱上羊啊爱的疯狂,谁让他们真爱了一场;狼爱上羊啊并不荒唐,他们说有爱就有方向……” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈可以看作一个n*m个矩阵格子,这个矩阵的边缘已经装上了篱笆。可是Drake很快发现狼再怎么也是狼,它们总是对羊垂涎三尺,那首歌只不过是一个动人的传说而已。所以Orez决定在羊狼圈中再加入一些篱笆,还是要将羊狼分开原创 2017-01-23 19:31:31 · 409 阅读 · 0 评论 -
[ZJOI2006书架]Splay
题目描述小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常好的,所以每次放书的时候至少能够将那本书放在拿出来时的位置附近,比如说她拿的时候这本书上面有X本书,那么放回去时这本书上原创 2017-02-03 19:43:54 · 544 阅读 · 0 评论 -
bzoj3503 [CQOI2014]和谐矩阵
题目描述我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1。一个元素相邻的元素包括它本身,及他上下左右的4个元素(如果存在)。给定矩阵的行数和列数,请计算并输出一个和谐的矩阵。注意:所有元素为0的矩阵是不允许的。分析: 1.这种矩阵的,一个元素和它上下左右有关系的,一般都是高斯消元。 2.把题目转化为亦或方程:因为知道第一行的情况后,后面的都可以递推,所以一直推到第n+1行原创 2017-03-03 21:18:56 · 649 阅读 · 0 评论 -
[bzoj1005][HNOI2008]明明的烦恼
Description 自从明明学了树的结构,就对奇怪的树产生了兴趣……给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为N(0 < N < = 1000), 接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 Output 一个整数,表示不同的满足要求的树的个数,无解输出0原创 2017-03-17 22:05:09 · 464 阅读 · 5 评论 -
bzoj4011[HNOI2015]落忆枫音
Description:「恒逸,你相信灵魂的存在吗?」郭恒逸和姚枫茜漫步在枫音乡的街道上。望着漫天飞舞的红枫,枫茜突然问出这样一个问题。「相信吧。不然我们是什么,一团肉吗?要不是有灵魂……我们也不可能再见到你姐姐吧。」恒逸给出了一个略微无厘头的回答。枫茜听后笑了笑。「那你仔细观察过枫叶吗?」说罢,枫茜伸手,接住了一片飘落的枫叶。「其实每一片枫叶都是有灵魂的。你看,枫叶上不是有这么多脉络吗?我听说,枫原创 2017-03-04 10:20:10 · 646 阅读 · 0 评论 -
[HNOI2002Kathy函数]数位DP
题目描述Tiger非常喜欢数学,所以他参加了学校组织的数学课外兴趣小组。在兴趣小组的学习当中,老师向Tiger介绍了Kathy函数,Kathy函数是这样定义的: f(1)=1 f(3)=3 f(2n)=f(n) f(4n+1)=2f(2n+1)-f(n) f(4n+3)=3f(2n+1)-2f(n) Tiger对Kathy函数产生了浓厚的兴趣,他通过研究发现有很多的数n都满足 。 对于原创 2017-02-01 20:11:38 · 817 阅读 · 0 评论 -
ZJOI2011最小割 最小割树
题目描述小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: ”对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中,则称这个划分是关于s,t的割。对于带权图来说,将所有顶点处在不同部分的边的权值相加所得到的值定义为这个割的容量,而s,t的最小割指的是在关于s,t的割中容量最小的割“现给定一张无向图,小白有若干个形如”图中有多少对点原创 2017-02-08 21:18:52 · 613 阅读 · 0 评论 -
ZJOI2008 瞭望塔 半平面交
题意:给出一个以n个点为轮廓的村庄,在村庄任意位置放一个瞭望塔,使瞭望塔能看到村庄的所有位置,求瞭望塔最低高度。只我们发现只有这个点在每个直线所在半平面以上的时候才能看到,如样例图:还注意到,只有在原图的端点或半平面交的端点处才会更新答案。#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using name原创 2017-02-08 12:02:42 · 467 阅读 · 0 评论 -
[SDOI2008]仪仗队 欧拉函数
运用素数筛选的思想求欧拉函数。#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const int maxn=40000; int p[maxn+100]; void init(){ p[1]=1; for(int i=2;i<=maxn;i++){原创 2017-01-02 11:29:41 · 337 阅读 · 0 评论 -
[HNOI2004]宠物收养场 set简单应用
做法: 如果收养者按照到来顺序收养宠物的话,只要把宠物的特点值建立平衡树,每次求收养者特点值前驱后继与之绝对值相差较小的一个。 这就是一个set的简单应用啦。 如果人和宠物互相选择,可以用两个平衡树,实现起来有些麻烦。 但我们可以想到,人和宠物在此题本质等价,人和宠物都可能待在店里等待。 那其实只要一个平衡树,再加一个变量记录一下当前树中存的是人还是宠物即可,具原创 2017-01-02 12:58:36 · 737 阅读 · 2 评论 -
Splay [ZJOI2012网络]
题意:一个网络支持一下操作: 修改一个节点的权值。 修改一条边的颜色。 查询由颜色c的边构成的图中,所有可能在节点u到节点v之间的简单路径上的节点的权值的最大值。 做法:对于每一种颜色,用一棵Splay维护最大值即可。注意:rotate请不要打错(grandfa的儿子要另外判断左右)。#include<cstdio> #include<algorithm> #include<cstring> #in原创 2016-12-22 21:20:22 · 428 阅读 · 0 评论 -
线段树 [AHOI2011维护序列]
题意:对一串序列有如下操作。 1.将某个区间的每个数都加上某个数 2.将某个区间的每个数乘上某个数 3.询问区间和 做法:线段树,维护时记录三个数组,一起下传。#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long原创 2016-12-24 17:25:43 · 416 阅读 · 1 评论 -
[ZJOI2008]骑士
做法:类似树形DP,但细节较多。 注意点:1.树形DP回溯时dp[u][1]+=dp[v][0],而不是取最小值; 2.dfs的时候要全部搜到,不能一搜到重复的点就直接return了。#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<vector> using原创 2016-12-20 22:56:35 · 444 阅读 · 0 评论 -
SDOI2009Elaxia的路线 最短路
题目描述最近,Elaxia和w的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间。Elaxia和w每天都要奔波于宿舍和实验室之间,他们 希望在节约时间的前提下,一起走的时间尽可能的长。 现在已知的是Elaxia和w**所在的宿舍和实验室的编号以及学校的地图:地图上有N个路 口,M条路,经过每条路都需要一定的时间。 具体地说,就是要求无向图中,两对点间最短原创 2017-02-06 10:45:47 · 405 阅读 · 0 评论 -
[ZJOI2008树的计算]树链剖分
题目:I. CHANGE u t : 把结点u的权值改为tII. QMAX u v: 询问从点u到点v的路径上的节点的最大权值III. QSUM u v: 询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using name原创 2017-01-16 17:14:26 · 293 阅读 · 0 评论 -
SCOI2014方伯伯运椰子 (分数规划+SPFA)
题目描述四川的方伯伯为了致富,决定引进海南的椰子树。方伯伯的椰子园十分现代化,椰子园中有一套独特的交通系统。现在用点来表示交通节点,边来表示道路。这样,方伯伯的椰子园就可以看作一个有 n + 2 个交通节点,m条边的有向无环图。n +1 号点为入口,n +2 号点为出口。每条道路都有 6 个参数,ui,vi,ai,bi,ci,di,分别表示,该道路从 ui 号点通向 vi 号点,将它的容量压缩一次要原创 2017-02-07 20:17:19 · 606 阅读 · 1 评论 -
[ZJOI2006物流运输]DP+Dijkstra
题目描述:物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流公司希望能够订一个n天的运输计划,使得原创 2017-01-12 13:20:16 · 830 阅读 · 0 评论 -
HNOI2008玩具装箱Toy 斜率优化DP
题目描述P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,形式地说如果将第i件玩具到第j原创 2017-02-12 20:54:59 · 451 阅读 · 0 评论