摘要: 【BZOJ1207】【HNOI2004】打鼹鼠 题面 "BZOJ题面" 题解 考虑到m的范围只有10000 O(m^2)的复杂度是可以接受的 所以直接暴力DP 每次枚举前面出现的鼹鼠 检查是否能够转移过来就可以啦 cpp include include include include include 阅读全文
posted @ 2017-10-15 19:51 小蒟蒻yyb 阅读(219) 评论(1) 推荐(0) 编辑
摘要: 【Luogu1937】仓配置 题面 "直接找洛谷把。。。" 题解 很明显的贪心吧 按照线段的右端点为第一关键字,左端点第二关键字排序 然后线段树维护区间最小就可以啦 cpp include include include include include include include include 阅读全文
posted @ 2017-10-15 19:48 小蒟蒻yyb 阅读(275) 评论(2) 推荐(0) 编辑
摘要: 【NOI2002】银河英雄传说 题面 题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争。泰山压顶集团派宇宙舰队司令莱因哈特率领十万余艘战舰出征,气吞山河集团点 阅读全文
posted @ 2017-10-15 19:45 小蒟蒻yyb 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题面 "我们也要换个花样,这回提供洛谷的题面" 题解 线段树+树链剖分大水题 维护颜色段的方法很简单呀。。。 维护当前区间内的颜色段个数, 以及当前区间左端和右端的颜色, 合并的时候考虑是否要减一下就行了 至于跳LCA进行Modify的时候稍微注意一下细节 cpp include include i 阅读全文
posted @ 2017-10-15 19:41 小蒟蒻yyb 阅读(313) 评论(0) 推荐(0) 编辑
摘要: "题面链接" 题解 首先构建出AC自动机 然后在AC自动机上面跑DP 转移很显然从Trie树的节点跳到他的儿子节点 但是要注意一个问题, 在计算的时候,每一个节点加入后能够 造成的贡献 要加上他的子串的贡献 至于DP: 设f[i][j]表示已经使用了i个字母 当前在Trie树的第j个节点上面能够产生 阅读全文
posted @ 2017-10-10 19:49 小蒟蒻yyb 阅读(449) 评论(2) 推荐(0) 编辑
摘要: "题目链接,我是真的懒得调题目的格式。。。" 题解 树链剖分搞一下LCA 把线段树弄出来 这只是形式上的线段树 本质上是维护一段区间的一个堆 每次把堆插入节点, 询问的时候查询线段树上的堆的最大值就行了 但是在插入节点的时候 把节点插入到非当前树链剖分经过的节点中 这里要稍微处理一下。 cpp in 阅读全文
posted @ 2017-10-03 17:18 小蒟蒻yyb 阅读(1046) 评论(0) 推荐(1) 编辑
摘要: "题目链接" 题解 这不就是luogu的线段树2的板子吗。。。。 没有任何的区别。。。 上代码吧。。。 cpp include include include include include include include include include using namespace std; d 阅读全文
posted @ 2017-10-03 17:14 小蒟蒻yyb 阅读(300) 评论(2) 推荐(0) 编辑
摘要: 题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族。被族人恭称为“先知”的Alpaca L. Sotomon是这个家族的领袖,外人也称其为“所驼门王”。所驼门王毕生致力于维护家族的安定与和谐,他曾亲自率军粉碎河蟹帝国主义的野蛮侵略,为族人立下赫赫战功。所驼门王一生财宝无数,但因其生性节俭低调 阅读全文
posted @ 2017-10-03 17:04 小蒟蒻yyb 阅读(423) 评论(0) 推荐(0) 编辑
摘要: "我已经沉迷于粘贴题目地址了。。。" 题解 很显然的贪心呀, 就是一定是最短的若干条路径的长度 所以,不断拓展k短路就可以了 至于怎么用A 评估函数f(x)=dis[x]+g[x] 其中,dis是到N号节点的距离 g[x]是从起点出发的当前距离 每次拿f(x)的最小的点进行BFS 一直拓展到能量用完 阅读全文
posted @ 2017-10-03 15:10 小蒟蒻yyb 阅读(860) 评论(29) 推荐(0) 编辑
摘要: 题面 题目描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入输出格式 输入格式: 输入两个整数M,N.1 include include include include 阅读全文
posted @ 2017-10-03 15:04 小蒟蒻yyb 阅读(274) 评论(0) 推荐(0) 编辑
摘要: "越来越懒了,不想粘题目" 题解 样例的输入是个很好的提醒, 把他往左边对齐之后 如果要打掉某个位置,那么必须要打掉右上方的所有砖 然后就很明显的一个DP了。。。。 cpp include include include include include include include include 阅读全文
posted @ 2017-10-03 15:01 小蒟蒻yyb 阅读(250) 评论(0) 推荐(0) 编辑
摘要: "题面戳我" 题解 把每个数都直接看做一个多项式,每一位就是一项 现在求用FFT求出卷积 然后考虑一下进位就可以啦 阅读全文
posted @ 2017-10-02 19:45 小蒟蒻yyb 阅读(552) 评论(2) 推荐(0) 编辑
摘要: "题目戳我" 一道模板题 自己尝试证明了大部分。。。 剩下的还是没太证出来。。。 所以就是一个模板放在这里 以后再来补东西吧。。。。 cpp include include include include include include include using namespace std; de 阅读全文
posted @ 2017-10-02 19:39 小蒟蒻yyb 阅读(361) 评论(4) 推荐(0) 编辑
摘要: "题面戳我" 题解 放一个板子在这里 用主席树维护一下每个版本就可以啦。。。 cpp include include include include include include using namespace std; define MAX 1000100 inline int read() { 阅读全文
posted @ 2017-10-02 19:37 小蒟蒻yyb 阅读(324) 评论(0) 推荐(0) 编辑
摘要: "题目戳我" 题解 其实感觉16年的难度不是很大???? 这道题去年考场上DP都想出来了。。。 只是因为不会数学期望。。。然后GG。。。。 这道题目只要把数学期望搞出来就可以啦 设f[i][j][0/1]表示前i门课程中,已经换了j门,上一个课程是否换了教室 然后转一下期望就可以啦。。。。 cpp 阅读全文
posted @ 2017-10-02 19:33 小蒟蒻yyb 阅读(376) 评论(0) 推荐(0) 编辑
摘要: "题面戳我" 题解 我原来也觉得是一道不可做的难题。。 其实,,,很简单的啦。。。 对于当前状态 我们出牌的方式大致分为两类 一类是不用考虑点数的,包括单张,对子,三带一等 另一类就是需要考虑点数的,包括顺子等 因此,每种状态下,首先考虑不用考虑点数的出牌方法 尝试打完,更新打完。 搜索的作用是考虑 阅读全文
posted @ 2017-10-02 17:30 小蒟蒻yyb 阅读(529) 评论(0) 推荐(0) 编辑
摘要: "题目戳我" 题解 很简单的一道题。。。 看来那时候还是我太菜了。。。 设f[i][j][k][0/1]表示在第一个串中的位置i,匹配到了位置j,一共分了k段,0/1表示上一个位置是否在某一段中 转移就很简单了呀。。。。 如果能够匹配上(不能够匹配上直接复制状态就行了。。。) 自己YY一下转移就行了 阅读全文
posted @ 2017-10-02 16:32 小蒟蒻yyb 阅读(333) 评论(0) 推荐(0) 编辑
摘要: "不想弄题面了。。。" 题解 做这道题目我真的好蠢。。。 好容易的数学题目 很明显自己写高精度吧。。。(不解释了) 被dalaoD了,底下的题解可能是假的。看代码里的注释把QaQ / 剩下的如何计算。 要有两类情况 ①老师之间有男生 那么,这种情况下,直接插空就行了 先把M个女生插进去A(m,n+1 阅读全文
posted @ 2017-10-01 16:23 小蒟蒻yyb 阅读(613) 评论(1) 推荐(0) 编辑
摘要: 题面 题目描述 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其中 fi 0;保证任何时候骑士战斗力值的绝对值不超过 10^18。 题解 左偏树+标记 向上合并左偏树,把战 阅读全文
posted @ 2017-10-01 16:07 小蒟蒻yyb 阅读(561) 评论(1) 推荐(0) 编辑
摘要: "题目戳我" 懒得粘贴题目了。。就这要凑合一下吧。。。 题解 反正棋盘的状态不会变的。。。 所以,预处理一下??? 恩,如果一个棋子要移动到某个目标位置的话, 可以看成只有空格和这个子要动呀(其他的有区别吗??) 因此,我们考虑预处理一个数组move[i][j][k][l] 表示在(i,j)位置,空 阅读全文
posted @ 2017-10-01 15:25 小蒟蒻yyb 阅读(423) 评论(3) 推荐(0) 编辑
摘要: 题面 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入格式 输入共n + 2 行。 第一行包含2 个整数n 、m ,每两个整数之间用一个空格隔开。 接下来的n+1 行每行包含一个整数,依次为a0,a1,a 阅读全文
posted @ 2017-09-23 15:34 小蒟蒻yyb 阅读(443) 评论(1) 推荐(1) 编辑
摘要: 题面 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 输入输出格式 输入格式: 第一行为n,m n表示初始序列有n个数,这个序列依次是(1,2,⋯n−1, 阅读全文
posted @ 2017-09-23 15:28 小蒟蒻yyb 阅读(580) 评论(10) 推荐(2) 编辑
摘要: 题面 Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许 阅读全文
posted @ 2017-09-23 15:14 小蒟蒻yyb 阅读(283) 评论(1) 推荐(1) 编辑
摘要: NOIP2011其实早就做完了。。。。一直懒得写。。。。 Day1 T1铺地毯 我什么都不想说,不会做您就没必要接着看了。。。。 cpp include using namespace std; define MAX 10001 int a[MAX],b[MAX],c[MAX],d[MAX],xx, 阅读全文
posted @ 2017-09-23 14:55 小蒟蒻yyb 阅读(286) 评论(0) 推荐(0) 编辑
摘要: "洛谷上的题目链接,题目不在赘述" 题解 既然要时间最短,首先考虑二分。 因此,考虑二分时间,问题转换为如何检查能否到达。 如果一支军队一直向上走,能够到达根节点,那么他可以通过根节点到达其他的节点,因此这样的节点要单独拿出来匹配。 如果不能到达根节点,很显然,停在深度越低的位置,能够控制的子树越大 阅读全文
posted @ 2017-09-23 14:43 小蒟蒻yyb 阅读(431) 评论(0) 推荐(1) 编辑