- 博客(263)
- 收藏
- 关注
原创 C++ O2/3手动开关
O2:__attribute__((optimize("-O2")))O3:__attribute__((optimize("-O3")))
2018-01-19 14:57:03 2214
原创 [dfs] 洛谷 P1242 新汉诺塔
题目描述设有n个大小不等的中空圆盘,按从小到大的顺序从1到n编号。将这n个圆盘任意的迭套在三根立柱上,立柱的编号分别为A、B、C,这个状态称为初始状态。现在要求找到一种步数最少的移动方案,使得从初始状态转变为目标状态。移动时有如下要求:·一次只能移一个盘;·不允许把大盘移到小盘上面。输入输出格式输入格式: 文件第一行是状态中圆盘总数;第二到第四行分别是初始状态中A
2018-02-03 16:16:08 774
原创 [模拟] JZOJ P3767 A+B
Description对于每个数字x,我们总可以把它表示成一些斐波拉切数字之和,比如8 = 5 + 3, 而22 = 21 + 1,因此我们可以写成 x = a1 * Fib1 + a2 * Fib2 + a3 * Fib3 + … + an * Fibn, 其中,Fib1 = 1, Fib2 = 2…. Fib[i] = Fib[i – 1] + Fib[I - 2], 且a[n] >
2018-02-03 15:58:15 549
原创 [贪心] JZOJ P3757 随机生成器
Description Input输入文件的第 1 行包含 5 个整数,依次为 x0, a, b, c, d,描述小 H 采用的随机数生成算法所需的随机种子。第 2 行包含三个整数 N, M, Q,表示小 H 希望生成一个 1 到 N × M 的排列来填入她 N 行 M 列的棋盘,并且小 H 在初始的 N × M 次交换操作后,又进行了 Q 次额外的交换操作。接下来 Q 行,第
2018-02-03 15:50:10 428
原创 [kmp] JZOJ P3756 动物园
Description近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。 某天,园长给动物们讲解 KMP 算法。 园长:“对于一个字符串 S,它的长度为 L。我们可以在 O(L)的时间内,求出一个名为 next 的数组。有谁预习了 next 数组的含义吗?”
2018-02-03 15:27:58 390
原创 [记忆化搜索] JZOJ P3767 路径
Description在一个N个节点的无向图(没有自环、重边)上,每个点都有一个符号,可能是数字,也可能是加号、减号、乘号、除号、小括号。你要在这个图上数一数,有多少种走恰好K个节点的方法,使得路过的符号串起来能够得到一个算数表达式 算数表达式。路径的起点和终点可以任意选择。所谓算数表达式 算数表达式,就是由运算符连接起来的一系列数字。括号可以插入在表达式中以表明运算顺序。注意,你要处
2018-02-02 21:13:53 377
原创 [dfs序][线段树][并查集] JZOJ P3766 大融合
Description小强要在N个孤立的星球上建立起一套通信系统。这套通信系统就是连接N个点的一个树。这个树的边是一条一条添加上去的。在某个时刻,一条边的负载就是它所在的当前能够联通的树上路过它的简单路径的数量。 例如,在上图中,现在一共有了5条边。其中,(3,8)这条边的负载是6,因为有六条简单路径2-3-8,2-3-8-7,3-8,3-8-7,4-3-8,4-3-8-7路过了(3,8
2018-02-02 20:54:17 343
原创 [归并][随机算法] JZOJ P3765 想法
Description小强和阿米巴是好朋友。小强要出一套题目。他的题目以涉及面广(偏)、考察深入(怪)、思维强度大(难)著称。他为了出题,一共攒了M个本质不同的想法,每个想法形成了一个题目。不过,他觉得拿这些题目去考察选手会把比赛搞的太过变态,所以,想请阿米巴来帮忙调整一下他的题目。阿米巴指出,为了让一场考试的题目的考察点尽量全面,有一个通用的做法叫做“组合”。如果把两个题目A和B组合
2018-02-02 20:49:05 342
原创 [枚举][dfs] JOZJ P3749 Fox and City
DescriptionA long time ago, 有一个国家有n 座从0 到n-1编号的城市。城市0 是首都。国家道路网络形成了一个无向连通图。换句话说:某些对城市被双向通行的道路所连接。 对于每座城市,可以从城市出发经过一系列连续的道路到达首都。(当两条道路需要在城市外相交时,相交处总是会有一座桥梁,因此城市外并没有路口。) 你会获得一个用于描述道路网络的字符矩阵linked。对于
2018-02-01 21:38:53 345
原创 [hash] JZOJ P3669 抄卡组
Description InputOutputSample Input3 3 wellplayed thankyou pyroblast 2 a*abc abc*a 2 a*abc a1234567890abcSample OutputN N YData Constraint 题解考虑对于n个串匹配情况,有三种: ①都
2018-02-01 21:31:30 344
原创 [dfs][图] 洛谷 P1330 封锁阳光大学
题目描述曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。阳光大学的校园是一张由N个点构成的无向图,N个点之间由M条道路连接。每只河蟹可以对一个点进行封锁,当某个点被封锁后,与这个点相连的道路就被封锁了,曹就无法在与这些道路上刷街了。非常悲剧的一点是,河蟹是一种不和谐的生物,当两只河蟹封锁了相邻的两个点时,他
2018-01-31 21:35:26 333
原创 [并查集]NOIP 2015 Day1 信息传递
题目描述有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游
2018-01-31 21:12:30 468
原创 [几何][单调] JZOJ P3636 Mobile
Description著名的手机网络运营商Totalphone 修建了若干基站收发台,以用于把信号网络覆盖一条新建的高速公路。因为Totalphone 的程序员总是很马虎的,所以,基站的传功功率不能独立设置,只能将所有新基站的功率设置为一个相同的值。为了让能源的消耗尽量少,公司希望知道公路中任意点到最近基站距离的最大值。Input输入的第一行包括两个整数N(1高速公路是一条从(0,
2018-01-31 20:47:25 318
原创 [并查集][排序][dfs][启发式合并] JZOJ P3635 Peaks
Description有一个居住在多山岛屿的登山家,已经攀上了一座山峰,并且要攀爬另外一座更高的山峰。更精确地说,岛上的每一点都有一个大于零的海拔(海面的海拔为零),并且如果登山家位于海拔Ei的山峰上,那么他的目标是到达其他海拔为Ej(Ej>Ei)的山峰。因为登山家在一个山峰上,所以无法马上向上爬——为了到达一个海拔更高的地点,登山家需要先下山才能上山。下山的路不及上山精彩,因此,登山家想
2018-01-31 20:40:04 337
原创 [数学] JZOJ P3636 分叉
Description给出一棵N 个点的树,点的编号是1, 2,。。。,N。 对于3 个点{a,b,c},如果不存在一条简单路径同时经过a,b,c,那么{a,b,c}是一个分叉。 统计不同分叉的数量。 树 无环,连通的无向图 简单路径 不重复经过同一个点的路径Input第1 行,1 个整数N。接下来(N -1) 行,每行2 个整数Ai,Bi,表示点Ai 和点Bi 间有一条边。
2018-01-31 20:31:38 347
原创 [回文树]JZOJ P3654 回文串
Description考虑一个只包含小写拉丁字母的符串 s。我们定义 s的一个子串 t的“出现值”为 t在 s中的出现次数乘以t的长度。 请你求出s的所有 回文子串中的最大出现值。Input输入只有一行,为一个只包含小写字母 (a−z) 的非空字符串 s。Output输出 一个整数,为 所有 回文子串 的最大 出现 值。Sample Input输入1:abacaba
2018-01-31 10:15:49 324
原创 [区间dp] 洛谷 P1220 关路灯
题目描述某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。 为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置的路灯,然后可以向左也可以向右去关灯。开始
2018-01-30 21:43:40 469
原创 [dfs]洛谷 P2279 消防局的设立
题目描述2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d。由于火星上非常干燥,经常引发火灾,人类决定在火星上修建若干个消防局。消防局只能修建在基地里,每个消防局有能力扑灭与
2018-01-30 21:21:55 358
原创 [dp]洛谷 P1373 小a和uim之大逃离
题目背景小a和uim来到雨林中探险。突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声。刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个披头散发、青面獠牙的怪物,低沉着声音说:“呵呵,既然你们来到这,只能活下来一个!”。小a和他的小伙伴都惊呆了!题目描述瞬间,地面上出现了一个n*m的巨幅矩阵,矩阵的每个格子上有一坨0~k不等
2018-01-30 21:00:14 362
原创 [状压dp]JZOJ P3632——舞伴
DescriptionN 个男孩,N 个女孩,男孩和女孩可能是朋友,也可能不是朋友。现在要组成N 对舞伴,要求每对舞 伴都是一男一女,且他们是朋友。 统计不同配对方案的数量,因为结果很大,所以只要求除以M 的余数。Input第1 行,2 个整数N,M。接下来N 行,每行N 个整数Aij,表示第i 个男孩和第j 个女孩的关系。如果他们是朋友,则Aij = 1,否则Aij = 0。
2018-01-30 20:29:56 370
原创 [秦九韶][强枚]NOIP2014day2 解方程
题目描述已知多项式方程:a0+a1x+a2x^2+..+anx^n=0求这个方程在[1, m ] 内的整数解(n 和m 均为正整数)输入输出格式输入共n + 2 行。第一行包含2 个整数n 、m ,每两个整数之间用一个空格隔开。接下来的n+1 行每行包含一个整数,依次为a0,a1,a2..an输出格式:第一行输出方程在[1, m ] 内的整数解的个数。接下来每行一
2018-01-30 20:11:16 423
原创 [树上倍增][最小生成树]JZOJ P4313——电话线铺设
Description Input OutputSample Input6 9 4 6 3 4 2 5 6 5 4 6 1 3 5 3 5 9 5 6 8 4 1 5 4 6 4 6 2 7 2 5 3 1 5 4 4 5 4 3 2 5Sample Output22 1 8 4 3 1Data Constraint
2018-01-30 19:56:19 314
原创 [枚举][dp]JZOJ P3601——Tree
Description下图展示了一种二叉树:这种二叉树的每个叶子节点上都标注了权值,而且具有以下有趣的特性:每个非叶子节点,其左右子树叶子节点的权值之和相等。我们称这种二叉树叫平衡二叉树。我们将一棵平衡二叉树叶子节点的权值从左到右列出来,假如这个权值序列是另一个序列A的子序列,我们称这棵平衡二叉树“隐藏”在序列A当中。在本题中,我们称一个序列S2是另一个序列S1的子序列,当且仅当S
2018-01-29 18:46:43 305
原创 [贪心]JZOJ P3619——medians
Description让我们定义A 为1, 2, 3,。。。, 2 * N - 1 的一个全排列。定义数列B 为A 的前缀的中位数形成的数列:B[i] 为A[1],A[2],。。。,A[2 * i - 1] 的中位数。注:对于M 个数的中位数(M 是奇数),可以通过排序后取中间的数得到。给出N 和数列B。找到一个全排列A 使得前缀中位数形成的数列恰好为B。Input输入包含
2018-01-29 16:49:59 235
原创 [暴力]JZOJ 3191 花瓶 90%数据
传送门Description 小爱整天收到花。她有N个花瓶标号从0到N-1。如果她收到F朵花,她会选择一个花瓶A,尝试去放花进去那个花瓶。如果那个花瓶已经有花,她就顺序地找下一个,直到所有花都放完或者后面没有花瓶了。有时她会清理花瓶,把花瓶A到B(A题解暴力直接跑90分暴力+o3 500+ms正解是线段树,不过我这个蒟蒻肯定是不会打的代码#include#includ
2018-01-19 18:37:54 404
原创 [叉积][枚举]JZOJ 3190 蓄养
传送门Description 平面上有N颗树,标号从1到N,每颗树有坐标(Xi, Yi)。要求在平面上找几棵树,在一些树之间建篱笆形成一个闭合图形 (篱笆不能在除了树以外的地方相交,形成的图形面积不能为0).求最小可能围成的面积。题解当我看到n<=100时 露出了一个意味深长的笑容其实就是n^3枚举用差积求出面积,取最大值代码#include#include#
2018-01-19 18:32:18 330
原创 [二分][dfs]JZOJ 2748 最大立方体空间 80%做法
Description给出一个长方体的箱子,还有在箱子里面的N个长方体的盒子,箱子和盒子的各个边都是平行于某个三维坐标轴。现在要求你找出其中最大的立方体空间,输出它的长度。 首先这个空间必须位于箱子里面,而且不能与其它的盒子占的空间冲突。这个空间也必须是各边平行于某个坐标轴。如下图所示。 题解二分枚举到可能的立方体长度然后用dfs判断是否成立在dfs中枚举每个盒子,如果与n个盒
2018-01-18 16:44:31 365
原创 [排序][二分][dp]JZOJ 2747 捡金子
Description从前有一个迷宫,迷宫的外形就像一棵带根树,每个结点(除了叶子结点外)恰好有K个儿子。 一开始你在根结点,根结点的K个儿子分别标记为‘A’, ‘B’, ‘C’….,而结点‘A’的K个儿子结点分别标记为‘AA’,‘AB’,‘AC’……,依此类推。这棵树一共有L层。 现在你事先知道M个结点中有金子,并且你可以派出N个机器人去收集金子。首先你可以分别指定每一个机器人的目标结点
2018-01-18 16:24:45 346
原创 [排序][dp][二分]JZOJ 2746 选数排列
传送门Description 给出N个数,我们需要选择其中的R x C个数,,把它们填入一个R x C的矩阵(R行C列)中。 我们先定义一个函数D(i)代表第i行中最大的数和最小的数之差。对于整个矩阵,定义F为矩阵中D(i) (1我们需要F的值最少,你能求出最少可能达到的F值是多少吗? 题解首先,我们可以将读入n个数从小到大排序用二分求出可能出现的情况那么怎么判断
2018-01-18 16:12:09 306
原创 [树论]JZOJ 2745 这是一棵树吗?
传送门DescriptionDD和QQ在玩游戏,DD在地上画了一棵树(图论中的树),然后他告诉QQ这棵树的度数序列。QQ马上说这不是一棵树。DD认为自己被QQ鄙视了,他们吵了起来。 但DD随后发现自己算错了度数序列,QQ说的是对的。DD很奇怪为什么QQ反应得这么快。 现在给出一个图的度数序列,你需要做的就是像QQ一样:判断这是否可能是一棵树的度数序列。题解我们知道树的边数为(节
2018-01-18 15:54:45 346
原创 [二分]SSL 2135 难题
传送门Description平面上有N个点,SubRaY想在其中找出一个点,使之到其它点的距离之和最小。为了便于计算,所以我们定义(x1,y1)(x2,y2)两点间的距离为:|x2-x1|+|y2-y1| 请你编写一个程序,来完成此任务:输出距离总和的最小值是多少。 题解这题其实就是求不连续的最长不下降子序列用二分判断这个数是否满足连续代码#include#i
2018-01-17 09:02:35 285
原创 [spfa]SSL 1693 香甜的黄油
传送门Description 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1 农夫John很狡猾。像以前的Pavlov,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声,以至他可以在晚上挤奶。 农夫John知道每只奶牛都在各自喜欢的牧场(一个牧场不一定只有一头牛)。给出各头牛在的牧场和牧场
2018-01-17 08:10:02 298
原创 [dfs]SSL 2493 马蹄印
Description虽然当奶牛贝里斯找到平衡序列后很高兴了,但是他现在对序列提出了一个更高的要求,就是要求每个序列中必须是先一定数量的左括号然后是与左括号相同数量的右括号。例如:(((()))),就是一个完美的平衡序列。 当贝里斯某天在农场上走的时候,他在地上发现了马蹄印,这个农场是一个N*N的方格,每个小方格中都有一个马蹄印。贝里斯希望从方格的最左上角的地方开始出发,然后每次可以向上或
2018-01-13 08:46:38 383
原创 [spfa]SSL 1535 想越狱的小杉
Description 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的。 小房间编号为不超过N的正整数。 每个管道都有一个人品限制值,小杉只能在人品不超过该限制值时通过。 小杉一开始在房间1,现在小杉想知道,每个小房间他最多能够以人品多少的状态到达。 注意,小杉的人品在出发以后是不会改变的。 题解这题其实就是一个裸的spfa里加几
2018-01-12 21:31:27 412
原创 [二分图][匈牙利算法]SSL 1342 Machine Schedules
Description 我们现在有两台机器,A和B。 A机器有n个工作模式,分别为 mode_0、mode_1….mode_n-1,B机器有m个工作模式:mode_0、mode_1….mode_m-1,我们现在有一些工作,每个工作可以用一个三元组来描述(i,x, y ),表示这个工作的编号为i,它可以在A机器的mode_x下或B机器的mode_y模式下被完成。 我们现在有t个工作
2018-01-12 21:05:41 231
原创 [dfs][凸包]SSL 1703 森林
传送们Description 森林里面有n棵贵重的树,你需要将它们保护起来。保护树木的方法是给它们做一个围栏(专业术语叫“凸包”),但围栏本身需要用这些树来做,因此需要砍下一些树。砍掉哪些树才能让损失的价值最小呢?如果有个解,取被砍掉的树的数目最小的一组。你可以认为在这样的限制下解是唯一的。题解其实这题仔细读读题就知道要用dfs做那我们怎么实现呢?dfs的算法其实就是每种情
2018-01-12 19:38:05 316
原创 [凸包]SSL 1720——Surround the Trees
传送门题目大意 求将n个点围起来的线的长度(也就是凸包的长度)题解 先找到一个最边的点 然后从这个点出发,向另外n-1个点枚举,也是找到最下的点 再记录路径长度代码#include<cstdio>#include<iostream>#include<cmath>using namespace std;struct K{int x,y;}t[101]={
2018-01-11 16:52:41 271
原创 JZOJ 8.15 B组总结
NO.1 平台Description Alice要搭建平台,平台不能漂在空气中,必须要有两根柱子支撑,具体地说,每个平台的两端必须由一根柱子支撑,柱子的另一端在地板或另一个平台上。 给你平台的放置位置(如下左图所示),每个平台的位置由它的高度(离地面的垂直距离)和水平方向两个端点的坐标决定,每根柱子必须安放在离端点0.5个单位的位置,如下右图所示。 编程计算所需柱子总长是多少。
2017-08-15 19:48:03 524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人