05 2017 档案

摘要:这题很神奇,对吧。 标程还理解了好久,才明白。 这道题需要用状压DP。首先我们看到总共只有15个字符串,所以可以用hash存储状态。 然后我们还需要一维用来存储DP到第几个字符。 所以dp[i][j]表示填到第i位后满足字符串的状态为j的个数; 一开始我们将一个统计数定义为nj=j(j为状态); 每 阅读全文
posted @ 2017-05-26 18:47 ghostfly233 阅读(203) 评论(0) 推荐(0) 编辑
摘要:题目: 恩,就是裸的字符串处理啦。 连标程都打的是暴力(随机数据太水啦!吐槽。) 本来O(n^2q)TLE好吧。、 然后我发明了一种神奇的算法,随机数据跑的很快!,当然最坏复杂度跟标程一样啦。 不过期望复杂度是O(nq)是不是很快 好吧说下我的做法, 我用computer数组储存字符串,用iter[ 阅读全文
posted @ 2017-05-26 18:35 ghostfly233 阅读(158) 评论(0) 推荐(0) 编辑
摘要:题目描述 假设x=N!,那么x的末尾有多少个零呢? 假设x=N!,那么x的末尾有多少个零呢? 输入 一行,一个整数N。 一行,一个整数N。 输出 输出只有一个整数,表示x末尾零的个数。 输出只有一个整数,表示x末尾零的个数。 这道题目,我们看一看数据范围, 10^1000肯定是高精啦! 然后我们再想 阅读全文
posted @ 2017-05-26 18:30 ghostfly233 阅读(135) 评论(0) 推荐(0) 编辑
摘要:原题: D e s c r i p t i o n 给三个正整数n,m和p,求(n^1+...n^m) mod p。 Input 一行,三个整数n,m和p。 Output 输出答案。 S a m p l e I n p u t 2 2 5 S a m p l e O u t p u t 1 数 据 阅读全文
posted @ 2017-05-24 21:44 ghostfly233 阅读(148) 评论(0) 推荐(0) 编辑
摘要:也是神奇的题目。。 原题传送门 首先看到这道题目,很明显我们需要线性算法 1、前缀和+统计 2、DP+统计 对于第一种算法,我们可以对于任何一个a[i]对b进行比较,如果大于b标上1,等于b标上0,小于b标上-1; 以0为中介,前缀和前后展开统计答案即可。。学长的神奇做法,不讲。。 第二种算法啊,, 阅读全文
posted @ 2017-05-24 21:34 ghostfly233 阅读(228) 评论(0) 推荐(0) 编辑
摘要:好吧,神奇的题目。。 原题传送门 这道题目,神奇的字符单调栈。。 首先预处理出1~n个数(大家都会。) 然后塞进字符串里,输出答案(水~) 然后。。 我们需要将所有的字符存入单调栈中,然后乱搞,就可以输出啦。 不过注意:有的题目可能在单调栈中没有把所有的字符删完,即后面的所有字符都一样,那么此时我们 阅读全文
posted @ 2017-05-24 21:09 ghostfly233 阅读(190) 评论(0) 推荐(0) 编辑
摘要:原题: Description Mirek有一条每天从他家去大学工作的最喜欢的路。这个路径由若干个部分组成,且每个部分是10米长的直线。每一个部分是直线连接(没有拐弯)上一个部分或垂直连接上一个部分。在走过每一个部分后,Mirek会休息下欣赏美丽的自然景色。在他走路的过程之中,他不会重复访问一个地点 阅读全文
posted @ 2017-05-24 10:18 ghostfly233 阅读(172) 评论(0) 推荐(0) 编辑
摘要:原题: Description 有n个人,编号为1àn,告诉你那些人之间是不友好的。现在,让你将这n个人分成两组,使得每一组之内的人是互相友好的,如果可以分成两组,则输出如何分组的,如果不可以分成两组,那么,输出“IMPOSSIBLE”。 Input 第一行两个整数n和m,1<=n<=50000,0 阅读全文
posted @ 2017-05-24 10:10 ghostfly233 阅读(314) 评论(0) 推荐(0) 编辑
摘要:原题传送门 神奇的题目诶 原来以为字符串比较一定要O(NlogN) 结果发现可以均摊O(N) 首先我们来讲一讲原理 我们有3个指针i,j,k i=0,j=1,k=0 一开始我们不断对k+1直到找到ch[i+k]!=ch[j+k] 那么我们进行判断 如果ch[i+k]>ch[j+k] 那么假设在ch[ 阅读全文
posted @ 2017-05-24 10:07 ghostfly233 阅读(224) 评论(0) 推荐(0) 编辑
摘要:题目描述 ›对于一个有向图顶点的子集S,如果在S内任取两个顶点u和v,都能找到一条从u到v的路径,那么就称S是强连通的。如果在强连通的顶点集合S中加入其他任意顶点集合后,它都不再是强连通的,那么就称S是原图的一个强连通分量(SCC: Strongly Connected Component)。任意有 阅读全文
posted @ 2017-05-22 16:34 ghostfly233 阅读(450) 评论(0) 推荐(0) 编辑
摘要:题目描述 有N个士兵(1<=N<=100),编号依次为1,2,...,N.队列训练时,指挥官要把士兵从高到矮排成一行,但指挥官只知道“1 比2 高,7 比 5高”这样的比较结果。请编写一个程序,对于给出指挥官一些“a比b高”这样信息后,求出一种合理士兵从高到低的排列。 有N个士兵(1<=N<=100 阅读全文
posted @ 2017-05-22 16:21 ghostfly233 阅读(2051) 评论(0) 推荐(0) 编辑
摘要:题目: 小Z在机房。他和其它机房同学都面临一个艰难的抉择,那就是 要不要划水? 每个人都有自己的一个意见,有的人想做题,有的人想划水。 当然,每个人只能选择一个事情做。如果一个人做的事情和他想做的不同,那么他会产生1不满意度。 更棘手的是,他们之间一些人是朋友,如果两人是朋友,但是他们做的事情不同, 阅读全文
posted @ 2017-05-22 16:02 ghostfly233 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题目: 小Z最近喜欢上了图论,于是他研究了一下图的连通性问题。但是他遇到了一个难题。 给定一个n个点的有向图,求有多少点对(i,j)满足从i点出发能到达点j ? 小Z仅会简单的朴素算法,所以他想问问你怎么解决。 你能帮帮他吗? 输入/输出格式 第一行一个数字n,表示有n个点。 接下来n行,每行n个0 阅读全文
posted @ 2017-05-22 15:51 ghostfly233 阅读(219) 评论(0) 推荐(0) 编辑
摘要:原题: 小Z最擅长解决序列问题啦,什么最长公共上升然后下降然后上升的子序列,小Z都是轻松解决的呢。 但是小Z不擅长出序列问题啊,所以它给了你一道签到题。 给定一个n个数的序列ai,你要求出满足下述条件的点对的数量。 假设点对是(i , j),max(l,r)是[l,r]当中最大的ai的值。 这个点对 阅读全文
posted @ 2017-05-22 15:34 ghostfly233 阅读(194) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这题啊。 裸的杨辉三角。 预处理杨辉三角和答案即可 下面贴代码 阅读全文
posted @ 2017-05-21 10:56 ghostfly233 阅读(116) 评论(0) 推荐(0) 编辑
摘要:原题传送门 神奇的题目。。 朝左朝右异或一下就好了 细节处理一下,输出now的字符串 下面贴代码 阅读全文
posted @ 2017-05-21 10:54 ghostfly233 阅读(151) 评论(0) 推荐(0) 编辑
摘要:没有原题。。。 囧。。 [问题描述] 游戏规则是这样,有n(1<=n<=100)行格子,第一行由n个格子,第二行有n-1个格子,第三行由n-2个格子,……以此类推,第n行有1个格子。要求再这些格子上摆放棋子。摆放的时候要注意,每一个格子只能放一个棋子。同一行的格子摆放必须遵守从左至右的顺序,在一行内 阅读全文
posted @ 2017-05-20 17:01 ghostfly233 阅读(274) 评论(0) 推荐(0) 编辑
摘要:真是一道神奇的题目233~ 原题传送门 迫不得已贴了个题解的链接。。 好吧,这道题就是分情况讨论,纯模拟,, 没有什么难的。。 脑洞要大,四面都要考虑,不能漏! 阅读全文
posted @ 2017-05-20 16:57 ghostfly233 阅读(328) 评论(0) 推荐(0) 编辑
摘要:没有原题传送门。。 手打原题QAQ 【问题描述】 一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2,…,9。其中—个页码不含多余的0,如N=1234时第5页不是0005,只是5。 【输入】 一个正整数N(N≤109),表示总的页码。 【输出】 共十行:第k行为数字k-1的 阅读全文
posted @ 2017-05-20 16:34 ghostfly233 阅读(361) 评论(0) 推荐(0) 编辑
摘要:原题传送门 好久没更了。。昨天去学zkw线段树,被zxyer狠狠地D了一顿。、 来补坑。。 这是一道很奇特的题目。 根据题目可以看出这道题有二分题具有的性质。。 不懂二分性质的可以看我以前的博客 传送门 所以。。 暴力check答案就好啦! 下面贴代码 阅读全文
posted @ 2017-05-20 15:27 ghostfly233 阅读(181) 评论(0) 推荐(0) 编辑
摘要:原题传送门 神奇的题目。。 一开始我准备打暴力直接搜答案。 然后发现。。 无限TLE。。 因为O((logN)^14*T)BOOM。。 然后Zxyer告诉可以只DFS顺子。。。其他的可以一步搞出来。。 然后就0ms了! Orz zxyer 下面贴代码 阅读全文
posted @ 2017-05-18 11:41 ghostfly233 阅读(234) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这是一道寻找最小环的题目。 在做的时候给每一个点染色。。 防止再做已经搜过的点(优化) v[]表示是否访问的过,以及第一次访问该点的时间。 u[]表示染色。。 这道题还可以用拓补排序做。 当然,我不会写,。原理掌握的也不是很清楚。。所以,坐等以后填坑。。 下面贴代码 阅读全文
posted @ 2017-05-18 11:38 ghostfly233 阅读(167) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这是道SB模拟题,NOIP--难度 直接贴代码 阅读全文
posted @ 2017-05-16 16:05 ghostfly233 阅读(257) 评论(0) 推荐(0) 编辑
摘要:原题传送门 一看这不是水题嘛。 枚举+乱搞。。特别容易、。。、 然后a[i]取值范围出现了 当当当当~:|a[i]|<=10^10000!!!!! 我去,这是什么鬼。。 高精度? 然后默默算了算。。 O(10000*n*m)BOOM!TLE.. 好吧,高精度没用了。。 那么我们再来看一看。。 根据某 阅读全文
posted @ 2017-05-16 15:34 ghostfly233 阅读(214) 评论(0) 推荐(0) 编辑
摘要:原题传送门 刚开始我还以为这道题目非常的简单。。 然后随便打了一个DP,直接WA,被zxyer狠狠地D了一顿。 然后发现有好多细节。。 首先假如某横坐标没有管子,那么l[x]=0;h[x]=m+1; 然后DP的时候往上是完全背包,往下是01背包。 由于不能接触到管子,所以0~l[x]和h[x]~m要 阅读全文
posted @ 2017-05-16 15:25 ghostfly233 阅读(183) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这道题嘛。。 首先根据题目,我们要先知道哪些点能够到达终点。(反向BFS) 然后我们再求最短路的途中,必须随时判断周围的点是否被第一次BFS标记过。、 所以再来一次BFS。 数组记得清零,不然会炸。。 下面贴代码 阅读全文
posted @ 2017-05-15 16:40 ghostfly233 阅读(206) 评论(0) 推荐(0) 编辑
摘要:原题传送门 好吧,如果说D1T1是纯模拟大水题 D2T1就是纯模拟略水题。 这道题首先我们要看一看数据范围。。 0<=n,m<=128 送分也不带这么送的吧。。 二维前缀和,前缀和,二次循环,4次循环,随你怎么乱搞都能过。。 没有任何需要提醒的东西。。 水~ 下面贴代码 阅读全文
posted @ 2017-05-15 16:37 ghostfly233 阅读(1213) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这道题瞄了一眼还以为是SPFA最短路。 后面发现距离为2.。 好像可以枚举中间点来着? 时间效率O(n*(2n-2))≈O(n^2) BOOM!(PS:9018上过了,说明数据太水了。。) 然后我们看看能不能预处理。。 第一大和第二大可以预处理233~ 然后sum(中间点的临近点的权值总 阅读全文
posted @ 2017-05-15 10:30 ghostfly233 阅读(202) 评论(0) 推荐(0) 编辑
摘要:水!水!!水!!!(重要的事情说三遍。。) 1分钟代码题。。 原题传送门 这题啊,手打BOOL判断,然后乱搞啊。。 这有什么难的。。 加个快读就能拿第一啦。。 膜9018上各位大佬们。。 下面贴代码 阅读全文
posted @ 2017-05-15 09:34 ghostfly233 阅读(237) 评论(0) 推荐(0) 编辑
摘要:看到旁边的学弟也在做二分,就手贱2分钟打了一道奇(sha)特(bi)二分题。 原题传送门 好吧,做这道题是为了给新手一个教程 首先我们聊聊二分。 二分利用的也是分治思想 不懂分治思想的可以看看我归并做的那道火柴排队。 传送门 首先要了解一下二分的性质(也就是什么题目要用二分来写、) 我们假设一个题目 阅读全文
posted @ 2017-05-13 15:52 ghostfly233 阅读(707) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这是道很奇怪的题目,真不知道为什么要放到T2。 也许是T1太水了 首先先看题, 题目要求一个数列中下标为偶数的点比临近的下表为奇数的点更大或更小 其实就是说在原数组中找到一个最长的波动数列,就是小大小大小大。。。或者大小大小大小 网络上的题解都写的奇奇怪怪,有的用递归,有的用贪心。。 其 阅读全文
posted @ 2017-05-13 15:17 ghostfly233 阅读(205) 评论(0) 推荐(0) 编辑
摘要:好吧,这道题也是。。醉了。 其实题目编程挺水的,但是贪心过程不好想。 原题传送门 这道题对于任何一个点a[i]如果a[i]<a[i-1]的话,那么假设a[i-1]的高度为X,a[i]的高度为y, 那么我们可以在a[i-1~i]这个区间中增加X次高度,然后再在a[i-1]增加x-y次高度,所以在满足A 阅读全文
posted @ 2017-05-13 14:41 ghostfly233 阅读(131) 评论(0) 推荐(0) 编辑
摘要:原文章传送门 好吧,我们上次说这道题可以用归并排序做。。 但是我不会归并排序的锅(真是蒟蒻。。) 早晨爬起来赶紧学一发。。 貌似还挺简单的。。 233~ 好吧,切入正题。 归并排序其实就是利用了分治的思想。 分治:将一个大问题分为2个小问题,之后解决所有的小问题,再合并答案。 比如我们举一个数列,对 阅读全文
posted @ 2017-05-13 10:01 ghostfly233 阅读(198) 评论(0) 推荐(0) 编辑
摘要:原题传送门 首先,这道题目是一道神奇的题。 看到这道题,第一眼就觉得2个数组排个序,然后一一对应的时候一定差值最小。 由于我们可以将这2个数列同时进行调换。 所以我们先把2个数列排个序。 第二个序列中的数组的下标都指向第一个数组中的数的原来位置(其实就是离散化(真是啰嗦。。)) 离散化之后,我们就变 阅读全文
posted @ 2017-05-12 22:36 ghostfly233 阅读(396) 评论(0) 推荐(0) 编辑
摘要:原题传送门 好吧,这道题很水,, 首先我们一看,这就是一道快速幂的题目,k那么大。。。 然后第X个人的答案就是(x+m*10^k)%n啦!! 好吧,这道题没有什么注意事项 太水了 阅读全文
posted @ 2017-05-12 10:46 ghostfly233 阅读(150) 评论(0) 推荐(0) 编辑
摘要:丧病至极的D2T3啊! 好吧~ 先放个传送门~ 原题传送门 好吧,这道题呢。。 根据题意我们可以很明显的看出来 军队往上走的越多(在没到根节点之前),效益一定越大。。 所以可以分情况讨论: 对于无法走到根节点的军队,我们让他走到他能走到的离根节点最近的点 对于可以走到根节点,而且还有剩余时间的点,我 阅读全文
posted @ 2017-05-11 18:01 ghostfly233 阅读(146) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这题比较水,就是细节。。多了点。 首先字符串要处理好(废话。。) 基础不行的话要多去看看书。。 然后捏,这题主要就是几个判断; 当我们读字符,如果读到运算符号,那么就要停下来,把之前的常数存起来,当然,直接加也行。 如果读到负号(b1),还有在等号右边时(b2),要取相反数 num=nu 阅读全文
posted @ 2017-05-11 13:50 ghostfly233 阅读(201) 评论(0) 推荐(0) 编辑
摘要:神奇传送门 恩,这是一道神奇的LCA+难度的题目。 题目是这样的: A 国有n座城市,编号从1到n,城市之间有 m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。 一开始看了看,以为是费用流(PS:一看就 阅读全文
posted @ 2017-05-11 09:56 ghostfly233 阅读(384) 评论(0) 推荐(0) 编辑
摘要:神奇传送门 好吧,这题很有意思。。 第一眼撇的时候还以为是(SPFA)呜。。。。 然后发现要Q次询问就想到了LCA 但是发现不是求LCA。。 于是想到了一个神奇的定律: 两点的LCA一定在u到v的最短路上。。 并且也一定在两点与根节点的路上。 所以用dis[a]+dis[b]-2*dis[LCA(a 阅读全文
posted @ 2017-05-10 17:03 ghostfly233 阅读(226) 评论(0) 推荐(0) 编辑
摘要:原题传送门 就是裸RMQ啊。。 求区间最大值和区间最小值,一看就像RMQ,当然线段树貌似也可以。 至于算法嘛。自己学~(好吧,放个传送门。。。) 然后就是最后把maxsum-minsum就好啦233~ 时间效率:预处理O(N)查找O(1) 是不是很快~ 下面贴代码 阅读全文
posted @ 2017-05-10 15:01 ghostfly233 阅读(189) 评论(0) 推荐(0) 编辑
摘要:首先,众所周知,求LCA共有3种算法(树剖就不说了,太高级,以后再学。。)。 1、树上倍增(ST表优化) 2、RMQ&时间戳(ST表优化) 3、tarjan(离线算法)不讲。。(后面补坑啦!) 一、树上倍增 这种方法原理是这样的: 我们可以知道,最朴素的算法就是一步一步的并查集往上找,知道找到2个点 阅读全文
posted @ 2017-05-10 14:36 ghostfly233 阅读(841) 评论(3) 推荐(1) 编辑
摘要:原题传送门 其实就是求能满足多少个订单。。 然后搞上差分, 又因为如果前n个能够满足,那么前m个一定能满足(m<n) 所以可以二分(重点!) 然后乱搞。。就AC了(其实也挺麻烦的。。。233~) 下面贴代码 阅读全文
posted @ 2017-05-09 16:08 ghostfly233 阅读(168) 评论(0) 推荐(0) 编辑
摘要:原题传送门 水~ 纯拓展欧几里得算法。。 阅读全文
posted @ 2017-05-09 16:03 ghostfly233 阅读(124) 评论(0) 推荐(0) 编辑
摘要:原题传送门 这道坑爹题调了我2小时233~ 首先这道题可以用set,平衡树,双向链表等一堆非(sang)常(xin)简(bing)单(kuang)的算法搞出对于任何一个高度h[i]的前2名和后2名 然后我们看到这个 就想到了倍增。。。 但是调不出来o(≧口≦)o 还要特判一下A走后B就不走了的情况。 阅读全文
posted @ 2017-05-09 16:01 ghostfly233 阅读(514) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示