题解
文章平均质量分 75
zero_from
这个作者很懒,什么都没留下…
展开
-
洛谷1967 货车运输
to神犇:请自动跳过前x行的吐槽,因为吐槽内容可能只是一些极其无聊的bug和友情提示……一道极其经典且相当BT的图论题,不过目前看来与运输计划相比似乎更仁慈一些。在你下定决心AC这道题之前,你首先要做好debug到怀疑人生的准备,最好准备一瓶眼药水以备不测,当然有一份画风清奇简约养眼的题解也是极好的……;其次,你要明白这道题的代码长度——不压缩180左右——所以要有足够的耐心,找一把舒适的椅子原创 2016-11-02 21:25:31 · 505 阅读 · 0 评论 -
洛谷1082 同余方程
原题地址:https://www.luogu.org/problem/show?pid=1082题目描述求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。输入输出格式输入格式:输入只有一行,包含两个正整数 a, b,用一个空格隔开。输出格式:输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。输入输出样例输入样例#1:原创 2016-10-31 17:15:16 · 482 阅读 · 0 评论 -
洛谷1032 字串变换
原题地址https://www.luogu.org/problem/show?pid=1032NOIP2002字符串广搜令蒟蒻们深恶痛绝的字符串处理题……其实算法很简单,单纯的广搜+剪枝,大佬们用的双向广搜,但鉴于数据太水一遍广搜也可过。解题思路剪枝时判断当前搜到的状态是否被搜过,如果已经被搜过就跳过。建议用map进行判断。参考代码#include#i原创 2016-11-08 18:00:30 · 465 阅读 · 0 评论 -
CH Round #49 - Streaming #4 (NOIP模拟赛Day2) 解题报告
题目来源:CH Round #49 - Streaming #4 (NOIP模拟赛Day2) Part.1 二叉树的根(root)暴力无脑,直接判断:存在度数大于3的点——无解;否则,所有度数为1或2的点都是解。Part.2 距离统计(dist)正解主要靠数论,然而水平不够,看不懂TAT。。。所以只拿了部分分。40分算法:1. 对于每次询问暴力枚举所原创 2016-10-24 20:22:38 · 436 阅读 · 0 评论 -
洛谷1351 联合权值
原题地址https://www.luogu.org/problem/show?pid=1351枚举 数论 贪心 一开始想到的又不是标解,跑了跑发现T了4个点……然后对照题解发现确实太暴力了,只有枚举连个优化都没有……解题思路60分算法:枚举每个点,然后枚举和这个点相连的两个点,求联合权值的最大值,并加入和(ans)中(先乘2再加,因为(i,j)和(j,i)算两对),显然原创 2016-11-06 21:35:23 · 310 阅读 · 0 评论 -
洛谷1525 关押罪犯
原题地址https://www.luogu.org/problem/show?pid=1525加权并查集题目描述S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名原创 2016-11-06 21:02:46 · 357 阅读 · 0 评论 -
洛谷1941 飞扬的小鸟
原题地址https://www.luogu.org/problem/show?pid=1941背包DP我至今为止碰到的综合性最强的DP题,没有之一。想通了其实转移方程不难想,就是坑点太多而且看不出来,debug期间极其心塞……一开始想到的是70分搞法,确实想到了用DP,但没有想到是背包,套了三重循环成功超时……看了题解发现这道题的正解综合了01背包和完全背包,(然而并不是多重背包),大原创 2016-11-06 15:53:08 · 320 阅读 · 0 评论 -
洛谷1018 乘积最大
原题地址https://www.luogu.org/problem/show?pid=1018划分型DP字符串解题思路1.预处理一下,把i到j截取的子串转化为数字;2.明确dp数组表示的状态,f[i][k]表示在前i个字符划分k次得到的最大乘积;3.初始化,f[i][0]=t[0][i](04.三重循环跑DP,最外层枚举划分次数,第二层枚举i,最内一层枚举断点(断点原创 2016-11-06 15:50:54 · 342 阅读 · 0 评论 -
洛谷1024 一元三次方程求解
原题地址https://www.luogu.org/problem/show?pid=1024二分答案解题思路据说暴力可过,只能说数据水了怎么搞都能过……反正这题可以拿来练二分,只是不完全符合二分性质,每次判断中点是否可行之后左右区间都需要再继续搜,直到三个解都被找到或者区间长度参考代码#include#include#include#includeusing na原创 2016-11-06 15:49:29 · 857 阅读 · 0 评论 -
洛谷1041 传染病控制
原题地址https://www.luogu.org/problem/show?pid=1041搜索题目描述 Description【问题背景】近来,一种新的传染病肆虐全球。蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延。不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带者,更没有研制出疫苗以保护易感人群。于是,蓬莱国原创 2016-10-30 20:47:01 · 768 阅读 · 0 评论 -
洛谷1052 过河
原题地址https://www.luogu.org/problem/show?pid=1052题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示原创 2016-10-28 18:53:09 · 5942 阅读 · 2 评论 -
codevs1213 解的个数-----------数论/扩展欧几里得
原题地址http://codevs.cn/problem/1213/ 题目描述 Description已知整数x,y满足如下面的条件: ax+by+c = 0pr 求满足这些条件的x,y的个数。输入描述 Input Description第一行有一个整数n(n),表示有n个任务。n以下有n行,每行有7个整数,分别为:a,b,c,p,q,r,s。均原创 2016-11-16 12:02:28 · 775 阅读 · 0 评论 -
洛谷1003 铺地毯
原题地址作为Day1的第一题来说难度刚刚好。解题思路读入a,b,g,k,注意这一块地毯左下角为(a,b),右上角为(a+g,b+k)。读入所求,从第n块地毯向下找,只要能把所求点覆盖,答案一定就是这块没跑了,直接输出,然后return 0。注意,要从大到小枚举,可以防超时。#include#include#include#includeusing namespace std;s原创 2016-10-26 21:27:24 · 316 阅读 · 0 评论 -
洛谷1311 选择客栈
原题地址看上去是个DP然而可以拿好几种算法跑过。。。结合数据范围,O(n2)的时间复杂度只能过50%的点,要想AC,正解时间复杂度应该远小于O(n2)。看题解有大犇拿线段树A过了,然而个人觉得这个题用线段树有点大材小用,拿O(nk)的解法完全可过。解题思路一言以蔽之,从前向后暴力找。观察可得显然要把客栈分成k类,对于每一类求可行方案数。一提到方案数,第一反应就是DP,事实上它确实满原创 2016-10-27 07:19:15 · 875 阅读 · 1 评论 -
洛谷1313 计算系数
原题地址题目描述给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数。输入输出格式输入格式:输入文件名为factor.in。共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开。输出格式:输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。输入输出样例输入样原创 2016-10-27 14:27:55 · 1899 阅读 · 0 评论 -
洛谷1314 聪明的质监员
原题地址:https://www.luogu.org/problem/show?pid=1314题目描述小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是:1、给定m 个区间[Li,Ri];2、选出一个参数 W;3、对于一个区间[Li,Ri],计算矿石在这个区间上原创 2016-10-27 14:50:06 · 371 阅读 · 0 评论 -
洛谷1079 Vigenère 密码
原题地址:https://www.luogu.org/problem/show?pid=1079这是一道简单的模拟题……也许吧……反正我被卡了很久才把那些关系绕清楚。官方给的数据都过了,不知为啥洛谷上居然RE了两个点,有点莫名其妙。说实在的在NOIPD1T1这类的裸搜暴力模拟题中算写起来麻烦的,string、ascall、字符处理得用得很好才行。鉴于本文提供的参考代码在洛谷上诡异地RE了,原创 2016-10-27 19:28:09 · 752 阅读 · 0 评论 -
洛谷1083 借教室
原题地址:https://www.luogu.org/problem/show?pid=1083差分前缀和 二分解题思路一开始想到了前缀和,但显然超时,于是想到了差分记录区间操作。嗯,然后呢?然后看数据范围,n^2是没门了,又不可能是n+m,所以考虑n乘上一个啥。在这个数据范围的限制下,最有可能的是logn,所以想到了二分。再看题,发现题目满足如下性质:如果第k号订单无原创 2016-10-28 11:11:09 · 675 阅读 · 1 评论 -
洛谷1027 car的旅行路线
原题地址:https://www.luogu.org/problem/show?pid=1027最短路Floyd 计算几何解题思路说白了就是一个稠密图的最短路问题,图稠密到每两个点之间都有连边,所以跑floyd又安全又好打,虽然数据太水spfa啥的也能跑过,但毕竟题目给的数据范围还是挺吓人的,最好别以身试毒冒险。然而这个题的关键不在于最短路怎么打,而是初始化,再往前延伸就是这巨原创 2016-10-28 11:43:19 · 1821 阅读 · 0 评论 -
poj 1330 Nearest Common Ancestors
题目大意给t组数据,每组数据给出n个节点和n-1条边的信息构成一棵树,再给出一对节点u和v,求u和v的最近公共祖先。原创 2016-08-05 15:36:20 · 180 阅读 · 0 评论 -
洛谷2661 信息传递
原题地址https://www.luogu.org/problem/show?pid=2661dfs并查集 强连通分量解题思路dfs可过,并查集可过,然而某神犇坚持说targan(强连通分量)更好用……作为一只蒟蒻我只能默默地抠一篇dfs的题解出来……反正不管怎么跑目的都是找出图中的最小环……其实dfs打标记的方法很好理解(就是不怎么好想),枚举每个未被访问的人(初始时原创 2016-11-04 10:05:36 · 374 阅读 · 0 评论 -
洛谷1073 最优贸易
原题地址https://www.luogu.org/problem/show?pid=1073图论最短路解题思路双向最短路,先正向建边,从1开始跑一遍求最小值,再反向建边,从n开始再跑一遍求最大值(这里不是指路径长度而是最小、最大点权),完了枚举每个节点,求t[i]=max[i]-min[i],所求即为max(t[i])(1参考代码#include#include#原创 2016-11-04 10:03:48 · 356 阅读 · 0 评论 -
poj 2362 square-----搜索+剪枝
题目大意给出n根木棍,问是否可以首尾相连组成一个正方形。算法 dfs+剪枝,合理巧妙的剪枝是避免TLE的关键;1.特判,当木棍总长度不正好是4的倍数时,pass;2.最长的木棍比边长小时,pass;3.对木棍长排序,每次都从当前最大到小枚举,在同一条边中,之前放不下的木棍现在也一定放不下;4.已经确定有解时,跳过剩下的过程;5.三条边都可以,第四条一定可以。代码原创 2016-08-26 18:05:34 · 395 阅读 · 0 评论 -
poj 1159 palindrome-----动态规划
题目大意 给出一个字符串,求至少需要插入多少个字符使原字符串变为回文串(如abcde不是回文串,而abcba是回文串);算法结合最长公共子序列问题,把原串(长度为n)逆序存储一下,求其与原串的最长公共字串长度k,则n-k即为所求。注意 5000*5000的二维数组不会爆空间,但实际上完全可以滚动第一维,用滚动数组存储显然节省了相当的空间。代码实现-非滚动版 #include原创 2016-08-26 17:56:27 · 548 阅读 · 0 评论 -
noi 1805 碎纸机-----搜索
http://noi.openjudge.cn/ch0205/1805/算法 暴力搜索,Dfs+剪枝注意 有些情况下可以直接判断:1.把要“剪碎”的数全都拆成一位数,此时和最小,如果这种情况下和都比目标数大,说明没有成立的情况,输出“error”;2.要“剪碎”的数本身比目标数还小(或相等),那么最优的情况就是不进行任何处理,直接输出两遍原数。代码实现#include原创 2016-08-26 17:19:55 · 517 阅读 · 0 评论 -
poj 1724 Roads
题目大意给定一个图,图中每条路都有 路长Length 和 过路费Toll 两个参数,一条路连接两个城市,任意两个城市之间有且仅有一条路。现在只有 K 块钱,要求从起点City1出发,到达终点CityN的最短路,也就是说在 K 花费内的最短路。算法思想:最短路变形,spfa可过。变量解释:dis[i][j]表示花费j个点数到达第i座城市的最短路,ans表示所求。原创 2016-08-02 16:52:23 · 232 阅读 · 0 评论 -
poj 3411 Paid Roads
题目大意有n座城市和m(1注意:路径是有向的。算法思想:dfs可过。提示:最优解法不是每条路只允许走一遍,可能有情况满足某条路i的p比r小很多,而且走c城市再回来走总钱数比直接走、付费r更省,此时只走i的“最短路”就不是最优解。每条路都可以重复走,那么为了防止出现死循环,当判断出途中有环时应当跳出。当某座城市走过3次以上时,可以判定陷入环中,应当跳出(至于为啥是原创 2016-08-02 17:06:57 · 302 阅读 · 0 评论 -
poj 2421 Constructing Roads
http://poj.org/problem?id=2421题目大意给你一些点,求最小生成树,但有些点已经连好了。算法思想:最小生成树,kruskal可过,区别仅仅在于存图时多一步。#include #include#includeusing namespace std;int num=0,fa[1001],f[101][101];struct dist{ in原创 2016-08-02 17:40:27 · 182 阅读 · 0 评论 -
poj 1860 Currency Exchange
题目大意有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终得到的s币金额数能否增加算法思想:最短路变形,spfa变形可过。提示:关键是找出正环,在此回路上来回跑,货币金额就一直涨。#include#in原创 2016-08-02 17:55:08 · 199 阅读 · 0 评论 -
poj 1088 滑雪
DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 2原创 2016-08-04 08:42:05 · 203 阅读 · 0 评论 -
洛谷1053 篝火晚会-------数论+模拟
原题地址正解是参考http://wenku.baidu.com/view/878beb64783e0912a2162aa7.html?qq-pf-to=pcqq.c2c才想明白的,感谢大神分享这个题。。。老实说不是很套路,某种意义上需要找规律优化?再有就是要看·清·题,不然分分钟爆零。。。模拟+数论……???Point.1 关于bm误认为b1,b2,…,bm是指从1开始原创 2016-10-23 08:27:34 · 390 阅读 · 0 评论 -
洛谷2870 最佳牛线,黄金--------贪心
原题地址水题一个,直接贪心。当心有坑。解题思路设两个指针,分别指向队首和队尾,直接比较大小,取较小者放入队列b;如果两个元素相等,就向中间靠(这时候要换两个变量,毕竟只能算是中间过程),直到找到对应不等的元素或者l>r(没有会TLE),哪一个小,就把对应的队首或队尾放进b里(注意放进去的还是原指针指向的元素!!!),continue。#include#include#i原创 2016-10-23 08:33:13 · 646 阅读 · 0 评论 -
洛谷2296 寻找道路
原题地址https://www.luogu.org/problem/show?pid=2296图论广搜最短路解题思路删点+反向bfs。反向建边建一个邻接表,枚举每个入度为0的点(终点除外),与该点直接相连的点都打上false标记。处理完之后从终点开始bfs(或者最短路也行),只走未被标记的点。参考代码#include#include#include#include#原创 2016-11-04 10:02:40 · 365 阅读 · 0 评论 -
洛谷1965 转圈游戏
原题地址https://www.luogu.org/problem/show?pid=1965数论快速幂 取模题目描述n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从0 到 n-1。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推。游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第原创 2016-11-04 10:01:06 · 272 阅读 · 0 评论 -
洛谷1038 神经网络
原题地址https://www.luogu.org/problem/show?pid=1038语死早、语体教系列……捋了好几遍都没看懂题干在说啥,试着写了写,一提交果然有bug……最后还是看着题解改了个bug才过,倍受打击……广搜解题思路简单的广搜,用邻接表存图,入度为0的(或者c[i]>0的)点是输入层,先放到队列里,c[i]=0的不是输入层,要预处理一下,把c[i]换成c[原创 2016-11-04 09:59:24 · 286 阅读 · 0 评论 -
洛谷1098 字符串的展开
原题地址https://www.luogu.org/problem/show?pid=1098字符串模拟解题思路一道模拟题,然而如果没有练熟字符串,打起来会相当痛苦……其实本质就是暴力if if if,注意一下三个参数的判断顺序,没有很坑的地方,耐心打总能打完的。参考代码(相当冗长仅供参考)#include#include#include#include#inc原创 2016-11-04 09:57:37 · 303 阅读 · 0 评论 -
洛谷1012 拼数
原题地址https://www.luogu.org/problem/show?pid=1012解题思路只有一个很明显的坑,就是sort函数确实是按字典序排的,然而当一个串是另一个的子串时显然它不能自己判断怎么拼更优……所以sort不可取(自定义太麻烦了=_=),还是用冒泡判断a+b和b+a那个更优好一点,更简单粗暴直接明了。参考代码#include#include#incl原创 2016-11-04 09:56:28 · 286 阅读 · 0 评论 -
b276: 4和7 ---------DP
原题地址DP妥妥的,看数据规模,首先需要离散化,其次转移的时间复杂度不能超过O(n^2),应当是O(n)左右Point.1 某个规律因为4和7互质,所以必然存在某个值k,使大于k的任意数都能分解为4和7的组合,手动模拟出这个数是18。理论上讲扩欧应该能够算出来。。。Point.2 离散化由于格子太多显然不能作为数组下标,但药堆数不大,所以读入时先储存下药粒数和位置信原创 2016-10-23 21:49:41 · 339 阅读 · 0 评论 -
洛谷2665 连线游戏-------暴力
原题地址暴力题,水一水就过了。。。理论上讲斜率用浮点数表示就行,然而谨慎的人会尽量避开浮点数精度损失可能导致的bug。。。Point.1斜率为0,斜率不存在△x为0时不管△y是多少,直线相互平行,算一条;△y为0时同上。Point.2 约分如果分别存△x和△y要化成最简,即二者同除个gcd。为方便排序判重,二者符号相反时要统一一个量的符号,直接同时取相反数没啥好说的原创 2016-10-23 08:46:08 · 261 阅读 · 0 评论 -
codevs2572 路面修整--------DP+离散化
原题地址看数据范围,猜出正解应该是动规;再看那巨多无比的0。。。离散化吧骚年!Point.1 离散化由于高度的数据范围过于震撼,显然无法作为状态,所以考虑用b[i]来表示第i高||低(根据题意需要跑两遍取较小值)的路段的高度,这样就从1,000,000,000浓缩成了2,000,可以用二维数组存下。Point.2 状态Dp[i][j]表示前i个路段有序,第i个路段高原创 2016-10-23 08:40:43 · 255 阅读 · 0 评论