随笔分类 -  洛谷题解

摘要:n个节点的树第i个节点权值为a[i]n<=10^6-100<=a[i]<=100问是否能够删除掉两条边,使得该树分成三个不为空,并且每部分权值之和相等.无解输出-1 否则输出要删除边(u->v)的v节点序号. 以上是题面。如果觉得这个题面看不懂的话可以去CodeForces现场看一下(逃)下面是解法 阅读全文
posted @ 2019-01-28 23:33 kenlig 阅读(318) 评论(0) 推荐(0)
摘要:入门难度的水题,适合各位打表食用。别问我为啥做入门难度的题,(因为我懒法一:直接根据题意给出的公式模拟即可。特殊技巧:使用cmath库中的pow函数,该函数为pow(a,b),返回a的b次方,类型为浮点类型。 Code: 法二:观察公式。分别带入N=1,2,3,4,5发现这就是个斐波那契数列。还是个 阅读全文
posted @ 2018-10-21 13:35 kenlig 阅读(392) 评论(0) 推荐(0)
摘要:Tarjan入门题。Code: 阅读全文
posted @ 2018-10-20 18:54 kenlig 阅读(253) 评论(0) 推荐(0)
摘要:本题是NOIP2017 Day2 T1.这题我居然想了半天..法一:考虑并查集做法。我们想,如果一个相交或者相切就能互相移动,那我们不如把相交或者相切的合并,最后遍历一下下表面的所有点看看能不能跑上去就OK了。Code: 法二:考虑图论做法。直接建图然后跑个spfa,解决。Code请自己写。 阅读全文
posted @ 2018-10-20 18:54 kenlig 阅读(223) 评论(0) 推荐(0)
摘要:本题是个次短路板子题,因为我太弱了所以我不会K短路。考虑从1点跑一边最短路,然后从N点再跑个最短路。之后遍历这个图,然后更新答案。Code: 阅读全文
posted @ 2018-10-20 18:53 kenlig 阅读(374) 评论(1) 推荐(0)
摘要:很著名的Tarjan题。跑个Tarjan,统计下入度。没啦。 阅读全文
posted @ 2018-10-20 18:53 kenlig 阅读(167) 评论(0) 推荐(0)
摘要:本题是个二分图匹配问题。首先我们来复习一下匈牙利算法:用临接矩阵写的匈牙利:Code:(洛谷P3386) 现在我们来看这个题:把物品属性a,b,从a,b向i连个有向边,然后一部分是物品一部分是序号,直接匹配即可。Code: 阅读全文
posted @ 2018-10-20 18:52 kenlig 阅读(225) 评论(0) 推荐(0)
摘要:这是一个经典的贪心+DP。首先我们读题,可以发现一个显然的贪心结论:如果我们把最长最宽的棍子放在前面,时间用的岂不是最少?解法就是上述的问题。直接排序(排序在长度相同的时候就用宽度),然后比较宽度,存一个最小的宽度。考虑设置一个vis数组,如果之后的棍子没被vis过而且宽度更小,我们就更新宽度顺便打 阅读全文
posted @ 2018-10-20 18:51 kenlig 阅读(173) 评论(0) 推荐(0)
摘要:本题是个有关Tarjan的题。首先我们来预习(温习)一下tarjan缩点:SCC是相互可达,先跑Tarjan然后建个新图。洛谷板子:P3387 Code: 我们再考虑间谍网络这个题。统计一下入度,没了。Code: 阅读全文
posted @ 2018-10-20 18:51 kenlig 阅读(146) 评论(0) 推荐(0)
摘要:题目解法:这题是个大水题,但是我们看到了两种解法:法一①:考虑前缀和做法。首先我们读题,发现其要求的是连续自然数和。连续自然数和,那么我们可以用前缀和来处理这些自然数的和。于是我们得到了一个显然的做法:(30pts)直接枚举。Code: 法一②:考虑前缀和做法的优化版本。我们发现,在上一个阶段的代码 阅读全文
posted @ 2018-10-20 18:50 kenlig 阅读(535) 评论(0) 推荐(0)
摘要:很简单的DP(递推)入门题。Code: 阅读全文
posted @ 2018-10-20 18:49 kenlig 阅读(165) 评论(0) 推荐(0)
摘要:坑题!!!!!大下午yyf给我发了这么一道题,初看还没有思路。(第一次这么认真的写图论 blog)题面: 在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手 续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续 费,请问A最少需要多少钱使得转账后B收到100元。 初看很 阅读全文
posted @ 2018-08-17 19:57 kenlig 阅读(364) 评论(1) 推荐(0)
摘要:初看很难然后有些人会写(几行表的正解我这种蒟蒻打了个if表坑点:考虑a==4 b==0/1/2/3的情况?图上涂黑了可不代表没有 C++: 阅读全文
posted @ 2018-08-16 19:01 kenlig 阅读(318) 评论(0) 推荐(0)
摘要:蒟蒻第一次写bfs别问我为啥第一次写(以前发现dfs貌似是万能的一道签到题 阅读全文
posted @ 2018-08-16 14:20 kenlig 阅读(130) 评论(0) 推荐(0)
摘要:字符串处理思想:用下标处理,若存在则pd数组++没啦C++: 阅读全文
posted @ 2018-08-11 21:06 kenlig 阅读(453) 评论(0) 推荐(0)
摘要:大模拟..(大雾主要是一开始写了N个循环,觉得自己脑子boom了后来关上电脑想到了O(n)做法C++代码: 阅读全文
posted @ 2018-08-10 15:48 kenlig 阅读(345) 评论(0) 推荐(0)
摘要:晚上A了一堆板子题我太弱了!堆:洛谷P3378AC代码:(STL 开氧气跑得很快。并查集:P3367使用路径压缩。 阅读全文
posted @ 2018-08-08 21:31 kenlig 阅读(188) 评论(0) 推荐(0)
摘要:一道水题贪心算法选两个最小的,加起来再扔回去比较。用sort排序太麻烦了,直接用小根堆做,效果显著。C++: 阅读全文
posted @ 2018-08-08 20:08 kenlig 阅读(121) 评论(0) 推荐(0)
摘要:SDSC Day 3的题.(的弱化版这题算是一个并查集的板子题。答题思路:对每个点i建立i+n这个点是朋友进入一个并查集不是的话把x,y+n x+n,y这两个并查集连接起来很简单的思路。C++代码: 阅读全文
posted @ 2018-08-06 21:20 kenlig 阅读(187) 评论(0) 推荐(0)
摘要:非常难受了可以说..一道普及/提高-的水题我居然改了3天 提交了20次!!我太弱了!! 正文开始: 题目描述: 有一个仅由数字 0 与 1 组成的 n×n 格迷宫。若你位于一格0上,那么你可以移动到相邻 4 格中的某一格 1 上,同样若你位于一格1上,那么你可以移动到相邻 4 格中的某一格 0 上。 阅读全文
posted @ 2018-08-05 19:40 kenlig 阅读(412) 评论(1) 推荐(0)