自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 CodeForces 718A Efim and Strange Grade ( 模拟)

模拟题还是写少了 这题写了个半死花了一个小时才写完题目思路题目要求模拟一个四舍五入的过程 并且给了一个四舍五入的次数t但其实对题目没有太多的关系因为我们只需要记录小数点后最前面的那个大于四做四舍五入就好了对这个点做四舍五入一定优于对后面的点做四舍五入所以先记录小数点后第一个大于四的位置然后对小数点后的位置做操作因为我们记录的是第一个大于四的位置所以我们对小数点后数位做操作时 不需要考虑进位的问题如果该操作对小数点前的数有影响再考虑是否会进位大概思路就是这样 主要还是自己去模拟这个过程

2020-07-30 20:09:49 109

原创 CodeForces 483B Friends and Presents(二分)

题目思路看懂题意之后一直在想怎么模拟但又感觉模拟不出来 数据范围也有到1e9 答案也到了1e18想了挺久都不知道写 问了下zw说是二分 但我怎么看都知道咋二分然后就去看题解了(啥时候我能不看题解a题啊 太菜了我)题解是直接将区间数据抽象成一张图具体分析见这个链接(画不来图)https://www.cnblogs.com/windysai/p/4058235.html感觉真的好巧妙啊ac代码#include <stdio.h>#include <iostream&gt

2020-07-29 19:53:48 140 1

原创 Labeling Balls POJ - 3687 (拓扑排序 反向建边 优先队列)

题目思路在学长拉的图论专题里面找的拓扑排序的题做的第一道就这么麻烦 学长真是好狠的心看了好久都没搞懂为什么要反向建边后来发现我读了个假题读懂后还是不明白 看了无数个博客最后找到了个跟着题类似的题的博客大概弄懂了反向建边的原因https://www.cnblogs.com/zznulw/p/6638571.html不懂得话可以看下这个博客然后还要注意的是输出要的是标号的重量 不是输出每个重量的标号还有数组开打了会mle 和 tle 开到200多就好了ac代码#include &lt

2020-07-29 15:03:15 98

原创 Codeforces Round #642 (Div. 3) d

题目思路用优先队列储存段落信息 记录位置和长度 以长度排序长的在前面如果长度相同 要让左端点小的在左边(应为这个wa了几发)然后就是模拟一个二分的过程但是还是写了挺久 这种模拟题还是写少了有些细节注意不到ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#include <v

2020-07-28 09:27:33 77

原创 kuangbin专题十 匹配问题

把最近刷的匹配问题全部放这里算了应该不会吧这个专题刷完大概率写着写着就鸽了1.Fire Net HDU - 1045 (二分图匹配 匈牙利算法)题目思路二分图匹配的简单题 第一次做没懂怎么建图看了下题解 发现是对行和列进行缩点然后对行和列重合的数字建边再跑匈牙利算法 求值ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#in

2020-07-27 10:40:54 144

原创 Hiho 119 网络流五·最大权闭合子图

这个题目之前建图写搓了 改了好久这种建图要自己给点编号的题目 总是会写出一些奇奇怪怪的bug题目思路看题目标题就能知道这是一道最大权闭合子图的题至于啥是最大权闭合子图https://blog.csdn.net/can919/article/details/77603353这是我学的时候看的博客求最大权闭合子图的答案 就是求图中正权值之和减去最小割而最小割刚好有等于最大流这样我们先统计正权和 在跑最大流就能出结果了建图的时候要细心一点 以免出现bug 浪费时间ac代码#include

2020-07-26 09:30:57 89

原创 Hdu4292 Food (最大流dinic 拆点 建图挺麻烦 )

题目思路用源点连接所有的食物结点 用汇点连接饮料结点权值分别为食物或饮料对应的值然后把每个让人拆成左点和右点两个点之间以一条边权值为1的边连接左点连接对应的食物结点 权值设为inf右点连接对应的饮料节点 权值设为inf这样就建好图了然后套最大流的板子就好了不过这题有点恶心的地方就是 用dinic边开小了会t要开大一些 以为这个还弄了十来分钟ac代码#include <stdio.h>#include <iostream>#include <algor

2020-07-25 20:57:58 104

原创 HDU 3416 Marriage Match IV(最短路dij + 最大流dinic)

又是一道花了一天才过的题就感觉网络流的题都很神奇 莫名其妙的就变成网络流了说到底还是我太菜了一开始建了双向图跑最短路 一直wa找了好久才过 头疼得很题目思路题目要求要最快到达并且每个城市都只能跑一次 问男孩能到女孩那几次做法就是先建图跑最短路 找到符合最短路的边再把这些边重新建一个图 因为这些边都在最短路上所以拿这些边跑最大流 一定符合题目条件可以只跑一次最短路 也可以正反建两次图跑最短路区别就是判定边的时候第一个是满足 dis[v] == dis[u]+e[i].v第二个要满足d

2020-07-25 16:32:04 99

原创 POJ - 1149 PIGS (网络流 dinic 建图方法可学习)

图论真的好难啊 这题看了好久终于a掉了题目思路按照一般的朴素建图想法就是把客人猪圈之间都建边用超级源点和超级汇点连接但是这么建边 边的个数会过大所以要减少边有一种很巧妙而建图方法只将商人看作图上的点从源点建到每个商人的边 边权为商人能开的猪舍有的猪的个数因为可能多个商人访问一个猪舍所以记录访问的先后顺序 在将这些商人建边 边权值为inf最后对商人和汇点建边 边权值为商人要买的数量还有可能会有重边 要处理 这题数据好像有点水 没处理也过了。。。。ac代码#include <s

2020-07-24 21:08:32 121

原创 [kuangbin带你飞]专题九 连通图 题解 慢慢更新

开一个大坑 网络流专题啥的晚点再补把先把连通图弄懂1.Network of Schools POJ - 1236题目思路题目给了两个问题给多少个学校就能让其他所有学校都能收到连接多少个学校能使最后给任意一个学校其他所有学校都能用tarjan进行缩点 在统计随点后图上每个点的出入度入度为0的点的数量就是第一个答案max(入度为0的点的数量,入度为0的点的数量)就是第二个答案还有就是不要忘记原本就是强连通图的情况ac代码#include <stdio.h>#include

2020-07-24 10:35:59 152

原创 Drainage Ditches(网络流模板题 dinic)

又到了新专题的刷模板题环节看了好久的网络流才稍微看懂了一点对着打了下模板哎图论太难了题目思路套模板就好ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#include <vector>#include <stack>#include <queue&

2020-07-23 20:00:07 109

原创 HDU 3394 Railway(tarjan求桥的个数和点双连通图)

看了快两天才基本把这题搞明白图论概念太多了 头疼得很题解都看了好久才弄明白交的时候g++就莫名其妙的t了c++就能过 就很迷惑题目思路容易看出题目所说的不必要的点就是桥而冲突的边我们可以求点双连通图如果某个点双连通图中边数量大于点数量那么这个图就构成了多个环而该图上所有的边也就是冲突的边我们用tarjan算法求桥和割点每次得到割点时我们同时也得到了一个点双连通图将该连通图出栈并记录连通图中的点最后记录单向边的数量 与点的数量进行比较ac代码#include <stdio

2020-07-23 16:48:42 125

原创 Codeforces Round #634 (Div. 3)abcd

每晚的cf训练重新启动昨天晚上这套简单一些四题出的还挺快的A. Candies and Two Sisters题目思路奇数直接除二就好 偶数先减一再除二ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#include <vector>#include <stac

2020-07-23 09:20:22 92

原创 POJ 1062 昂贵的聘礼 有限制的最短路 超级源点建图

题目思路题目要求最小的需要的金币 给了一些物品之间的优惠价格我们很容易可以想到将物品抽象为点 价格为边权 建图 跑最短路题目中我们是外来人 所以每个物品都能拿那么我们可以用一个超级源点连接每个点 并以该原点为最短路的起点题目还有一个限制就是每个物品的主人有对应的等级当拿的两个物品之间等级差超过m就不能拿了因为我们每次最短路一定要拿第一个物品所以我们可以找出所有长度为m并且包含第一个物品等级的等级区间举个例子如果m为2 第一个物品的等级是4那么满足条件的区间有[2,4],[3,5][4,

2020-07-22 16:37:30 97

原创 POJ 2186 Popular Cows (Trajan缩点)

图论好难啊 搞了好久终于把这题a了一开始题目看错了 以为并查集就能做后来发现要求被其他所有牛喜欢的牛的数量看了题解才知道要咋做 菜鸡落泪题目思路首先将牛之间的崇拜看作一个单向边建图后用Trajan算法找强连通分量因为每个强连通分量是能相互到达的 分量外的牛只要喜欢其中的一个就一定会喜欢其他所有的牛所以可以把每个强连通分量看作一个点 即缩点然后在缩点后的图上 找出度为0的点(只可能有一个出度为0的点 可自行证明)这个点代表的强连通分量就是答案不会Trajan算法的话可以看下面链接的视

2020-07-22 14:11:17 65

原创 Codeforces Round #658 (Div. 2) a,b,c1,c2

昨天真是自闭的一天 hdu 牛客 cf 全部挤在一天打到cf的时候整个人都麻木了 感觉完全没思路 然后自闭睡觉了今天早上一起来发现就有思路了。。。。依然还是掉大分哎果然还是要休息好 脑子才灵光A. Common Subsequence题目思路直接找两个数组相同的一个元素就行ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#in

2020-07-22 10:08:25 155

原创 POJ3463 Sightseeing(求最短路与次短路次数之和)

又是一天多校 签到都没签成 杭电的也太难了下午也迷迷糊糊的 整个人都很晕卡这道题卡了好久一直没输出后来发现是有个数定的是int 但输出的时候写的是lld忘记改了头疼最近不怎么在状态题目思路根据题意 我们要维护的是最短路和严格次短路和他们对应的次数跑最短路时情况分成4种1等于最短路 需要更新最短路的次数2小于最短路 需要更新最短路 最短路次数 次短路 次短路次数3小于次短路 大于最短路 需要更新次短路 次短路次数4等于次短路 需要更新次短路次数按照这四种更新方式跑最短路就好了不过跟

2020-07-21 20:51:26 124

原创 HDU 1305 Immediate Decodability && hdu 1671 Phone List(字典树查找前缀)

题目思路这两题解法基本相同 都是先将字符串插入字典树最后查找前缀注意这里的前缀是说一个串是否能做能一个串的前缀之前还以为只要是有相同部分的就算是前缀查找前缀的方法也很简单就是遍历每一个字符串 到他的结尾时判断字典树的flag值是否大于1如果大于说明有串以它为前缀标记 并在结尾输出还有第一题的输入格式需要注意一下ac代码HDU 1305 Immediate Decodability#include <stdio.h>#include <iostream>#

2020-07-21 09:56:11 96

原创 HDU 4825 Xor Sum (01字典树求异或最大值)

一开始看到这道题感觉好难 数据也挺大还要求异或最大值完全想不出哪里跟字典树有关系搜了下题解 说是01字典树就去学了01字典树01字典树是将数字以二进制记录的字典树记录方法和普通字典树差不多把数字以二进制记录下里 和字符串也挺相似的然后01字典树多用于求异或值模板#include<bits/stdc++.h>using namespace std;#define LL long long int tol; //节点个数LL val[32*MAXN]; //点的值int

2020-07-20 21:41:37 102

原创 Babelfish POJ 2503 map映射

这题题意很简单 思路也很简单看完题基本都懂一开始看觉得用map很简单后来发现用map的话读入啥的很头疼最后写的时候确实很折磨看了题解才知道怎么写字典树写法晚点学会了在加上ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#include <vector>#include

2020-07-20 15:47:58 105

原创 统计难题 hdu 1251 字典树模板题

ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#include <vector>#include <stack>#include <queue>#include <map>#include <set>#include &l

2020-07-20 13:37:33 95

原创 Shortest Prefixes poj2001 字典树入门题

题目思路字典树专题里面的第一题当然是套字典树板子就好了ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#include <vector>#include <stack>#include <queue>#include <map>#in

2020-07-20 11:03:10 86

原创 Codeforces Round #656 (Div. 3)abcd

又是一个掉分场打十分钟掉一次 然后cf网站都打不开的网真的是让人很头疼最后摸了一个小时鱼 d题没啥思路 也没敢写暴力今天早上看了下别人的写法 自己写了下 感觉也还好但是没有把过程想的很清楚 出了一些bug要多注意细节了A. Three Pairwise Maximums题目思路因为x,y,z取的是三个值中两两之间的最大值那么x,y,z中一定又两个是相等的ac代码#include <stdio.h>#include <iostream>#include &lt

2020-07-18 09:49:30 215

原创 Codeforces Round #633 (Div. 2) abc

昨天晚上寝室停电了就挺离谱的所以十二点半就睡了 ab题在机房就出了回寝室一直在摸鱼 到十二点半c题还没出刚刚样例过了 但是cf好像炸了交不了 头疼先写ab题把cd等下再补A. Filling Diamonds题目思路观察图片 可以发现每个图只能有一个竖着覆盖的菱形所以菱形的位置影响了最后的值直接输出n就好ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include

2020-07-17 09:46:58 123

原创 最短路专题

今天又多了两个专题 数论专题一题都没做就又有新得了直接开一个专题来记录过的题把以前数据结构那些写的很散A - Til the Cows Come Home最短路水题 直接过B - Frogger这题题意都没看懂一开始看了题解顺便重新学了一下弗洛伊德的写法不过这题很多毒瘤的地方最后的输出要多加一个换行符 还有最好用c++g++无限wa 换c++就a了这题要求每个路径的最大值中间的最小值因为数据不大 所以用弗洛伊德暴力跑就行了ac代码#include <stdio.h>

2020-07-16 15:09:40 176

原创 Codeforces Round #635 (Div. 2) abcd

昨天晚上找的这套cf比之前那几套简单一些到一点出了三题 感动 之前到一点b题才勉勉强强a掉A. Ichihime and Triangle题目思路题目给出的三个区间都首尾相连第二个区间右结点和第三个区间的左节点相同所以输出这个点 在输出第一个区间的随便一个点就行ac代码#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include &l

2020-07-16 09:33:39 164

原创 洛谷p3384 树链剖分板子题

下午本来准备学完树链剖分 过完入门题 再去学下莫队的结果搞了一下午第一遍代码找不到bug 只好重新写 写完头都是晕的贴一个别人的教学视频 讲的非常详细之前也是看这个up的视频 才把主席树基本搞清楚的https://www.bilibili.com/video/BV1Qt411u77f?from=search&seid=2991831755792450979因为dfs序和树链剖分啥的视频里面都讲得非常的详细我就不在这里赘述了直接上代码#include <stdio.h>#

2020-07-15 17:32:02 153

原创 Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! abc

昨天晚上又选了一套div2题面巨长 导致昨天一半的时间都在划水 摸鱼hhh 甩个锅先一共就过了两题 b题过的时候都两点了 就睡了c d等会再补把A. Nastya and Rice题目思路直接求出两个区间的范围 在比较就好了 大水题#include <stdio.h>#include <iostream>#include <algorithm>#include <math.h>#include <string.h>#incl

2020-07-15 09:19:27 738

原创 牛客算法周周练15 d 树上求和(dfs序将树结构转变成线性结构 再用线段树进行维护)

题目链接 https://ac.nowcoder.com/acm/contest/6290#question这题被自己挖了好多坑 一共wa了十一法好在最后六分钟a掉了一开始有输出 但是一直wa我还以为是取模的问题结果wa了六七发 觉得不太对劲自己造了个数据 发现我建树的时候数据赋值有问题改了快一个小时 才改过来后来取模还是过不了 才发现我的mod一直开的是2333 但题目要求的是23333被自己坑哭题目思路题目给出一个树 要对数进行两个操作1 对结点x的子树所有节点加y(包括x点)2

2020-07-14 21:45:55 144

原创 CodeForces - 787D.Legacy (线段树辅助建图跑最短路)

https://blog.csdn.net/weixin_43741224/article/details/96473255https://blog.csdn.net/qq_43906000/article/details/102256830

2020-07-14 16:28:41 488

原创 Codeforces Round #638 (Div. 2).abcd

https://codeforces.ml/contest/1348晚上的刷题计划正式启动了 所以每天早上记录一下昨晚挑了这一场 感觉好难 看了下队友们的当时的情况好像都不怎么乐观 大家都在掉分(还好当时没打 hhhh)就出了ab两题昨晚cd待补A. Phoenix and Balance题目思路直接两两配对相减 就好了ac代码 #include <stdio.h>#include <iostream>#include <algorithm>#i

2020-07-14 10:24:38 89

原创 Educational Codeforces Round 91 (Rated for Div. 2) . d Berserk And Fireball

题目链接https://codeforces.ml/contest/1380/problem/D前天的cf 到现在才a 我好菜啊 菜鸡爆哭又是一场unrated 这两天cf测评机炸一场,网站炸一场就不让人打呗 像掉分都不让题目思路题目给出两个数组a,b给出两种方式将a变成b第一种是直接将连续的区间长度为k的区间清除 费用为k第二种是选取两个连续的数 清除小的那个求把a变成b的最小消费如果无法将a变成b则输出-1这题就直接模拟就好了但是写不来模拟的我真是写到想死 说到底还是题做少了

2020-07-14 10:07:11 373

原创 Fake Maxpooling 2020 牛客多校第二场f题(两次单调队列维护矩阵最大值)

题目链接https://ac.nowcoder.com/acm/contest/5667/F自闭多校第二场 比第一场友好一点d题签到题 比上一场的签到提有好多了f题之前一直觉得能做但是不晓得咋做听学长说用单调队列处理两次当时觉得好麻烦 然后没写一直划水赛后看了下题解 自己写了下感觉其实还好就是第二次维护错了数组 wa了蛮多发太不细心了题目思路首先根据题目意思用lcm直接求出每一位的值(按出题人的说法 这么直接求好像会t 但是并没有 估计是数据水了)然后按行和列做两次单调队列维护最大值并

2020-07-13 20:41:41 296

原创 hdu 3954 Level up (线段树+懒惰标记维护区间值的变化)

心态有点崩这题wa到爆炸 结果发现是我输出的时候少输出了一个冒号差点被送走题目思路给了一个打怪升级的背景给了每个等级所需的经验值然后给了两个要实现的功能1.查询区间最大值2.对区间值进行修改但是他修改的值与当前怪物波数所给的经验值与自身等级有关一开始想直接用lazy数组来标记修改的位置在查询到的时候在对标记的点后面按照他的等级啥的进行修改但是一直wa(这里后来测了加了冒号也还是wa)看了题解发现他们还多维护了一个need数组用来记录结点升级需要的v然后修改的时候通过比较这个区间

2020-07-13 14:57:59 119

原创 HDU 5306 Gorgeous Sequence(线段树同时处理多种数组信息)

继续补专题题目思路题目给出三种操作查询区间最大值查询区间和给出数据v 将区间中每个点修改为min(a[i],v)前面两个是基本的线段树操作 很好实现但第三个就不好实现了,也是本题的难点如果对区间内每个点做修改 时间复杂度上太大 这里要用lazy_tag的思想以下图片为这是16年国家集训队jls的论文 也是本题的主要思路#include <stdio.h>#include <iostream>#include <algorithm>#includ

2020-07-12 19:41:09 142

原创 [CF 438 D] The Child and Sequence 线段树

牛客多校打到自闭。。。签完到继续补专题题目思路题目给了三个要实现的功能单线修改区间和查询还有将区间内叶子节点mod k本来想用lazy_tag来做 对区间和做mod然后查询的时候向下递归但是有一个问题就是如果叶子结点的值本身小于k那么mod运算对它的值并不会产生影响 所以最后结果有问题看了题解说在维护区间和的同时维护最大值在做mod运算的时候拿k和区间最大值比较如果区间最大值小于mod那么本次运算对本区间的值没有影响 直接return小于就直接单点修改ac代码#include

2020-07-12 14:01:04 104

原创 CF372C Watching Fireworks is Fun(单调队列优化dp)

自闭的一天从写专题开始又是一道cf2100的题好狠的学长题目大意某镇庆祝节日,准备在主街道放烟花主街道有n个区间组成我们每秒能够移动d个区间,一共会放m个烟花每次放烟花会有两个伴生数据a和b放烟花是我们会产生幸福感而幸福感n=bi-|ai-x| (x表示我们所处的位置,i表示第i个烟花)题目思路图片来源于https://blog.csdn.net/weixin_43901733/article/details/99071312记得开llac代码#include <std

2020-07-11 11:55:29 150

原创 主席树入门学习 洛谷p3834 和 牛客 换个角度思考(题的名字)

两道题的链接洛谷 https://www.luogu.com.cn/problem/P3834牛客 https://ac.nowcoder.com/acm/problem/19427本来是写专题写到自闭想去牛客写点简单的题目放松一下结果找到了这道题拿线段树写了下 t掉了看题解说是主席树裸题然后就开始了一整天的主席树学习又是自闭的一天到现在其实对主席树的板子的理解还是有一点模模糊糊的推荐一个主席树视频吧https://www.bilibili.com/video/BV1C4411u7rK

2020-07-10 22:10:25 231

原创 离散化操作

看主席树的视频 主席树没学会倒是看到一种好用的离散化方法正好我之前也不会就记录下来int a[maxn];vector<int>v;int getid(int x){ return lower_bound(v.begin(),v.end(),x)-v.begin()+1;//得到离散化操作后的数值}int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) {

2020-07-10 19:46:18 105

原创 牛客 华华开始学信息学

链接:https://ac.nowcoder.com/acm/problem/23054专题写到自闭 写写牛客放松一下题目思路两个基本的线段树操作 单点修改和区间查询但是题目要求每次加值要给在1到n上所有modD等于0都加上如果直接枚举所有满足条件的点然后再修改 当d很小的时候 复杂度会很大直接这样写只能过百分八十所以我们要分成两类操作我们以500为界限大于500 直接枚举修改小于500 我们记录在一个lazy数组中在之后查询时直接用这个数组计算值就好了ac代码#include &

2020-07-10 16:14:13 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除