自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 F - Construct a Palindrome (AtCoder Beginner Contest 197)

题目来源https://atcoder.jp/contests/abc197/tasks/abc197_f题意分析  给一张图,每条边上面有一个字母,试着找出一条从起点出发到终点的一条最短路,使得按顺序每条边上的字母相连接是一个回文串,若不存在则输出 -1。思路分析  思维题。数据范围是1000量级,第一眼以为是dp,第二眼是双端bfs,卡了好久。  解法是在我们建好这条路之后,我们...

2021-03-28 21:34:00 59

原创 1477B - Nezzar and Binary String 1900

题目来源https://codeforces.ml/problemset/problem/1477/B题意分析  给定两个长度为n的01序列,分别表示a,b。再给定一个q,表示有q个询问区间。在保证每次询问中,区间内所有数字相同的情况下, 可以修改严格小于区间长度一半的数。问在q次操作之后,能否实现将a序列变成b序列。思路分析  对于q个询问区间进行逆序操作。根据n和q的数据范围来看...

2021-03-24 11:39:00 74

原创 D. Playlist ( Codeforces Round #709 (Div. 2, based on Technocup 2021 Final Round))

题目来源https://codeforces.ml/contest/1484/problem/D题意分析  给定一个序列,从头开始,找到第一对相邻的互质的数,删除第二个数,并从下一个数开始重新之前的操作直至不会再有数字被删除或者是数组为空。最后输出被删除的数的个数以及按照被删除的顺序输出被删除的数。思路分析  大致思想是按照链表模拟,但绝对不是按照题目的意思去模拟,不然妥妥的T飞。 ...

2021-03-23 21:49:00 57

原创 1487E - Cheap Dinner 2000

题目来源https://codeforces.ml/problemset/problem/1487/E题意分析  给定四种菜以及他们的数量,在分别给出m1个第一道菜和第二道菜不能搭配的条件,m2个第二道菜和第三道菜不能搭配的条件,m3个第三道菜和第四道菜不能搭配的条件,问找一种搭配使得所有菜都能拿一种,求最小花费。思路分析  [待补充]code#include <bits...

2021-03-20 23:51:00 40

原创 1486D - Max Median 2100

题目来源https://codeforces.ml/problemset/problem/1486/D题意分析  在给出的数组中,找出所有长度大于等于k的序列中的中位数的最大值。思路分析  [待补充]code#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long longusing name...

2021-03-20 12:01:00 30

原创 1490G - Old Floppy Drive 1900

题目来源https://codeforces.ml/problemset/problem/1490/G题意分析  在一个可以无限延伸的前缀和中,寻找出第一个大于等于询问数字的数。有则输出位置,没有则输出-1。思路分析  [待补充]code#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long ...

2021-03-20 11:58:00 34

原创 F - Zebraness (Caddi Programming Contest 2021(AtCoder Beginner Contest 193))

题目来源https://atcoder.jp/contests/abc193/tasks/abc193_f题意分析  给出一个二维的表格,每一个格子上有一个字符表示当前格子上面的颜色。‘W’表示白色,‘B’表示黑色,‘?’表示还没有上色。求当给所有未上色的格子上色之后,白色与黑色格子相邻的边最大的数量。思路分析  看到黑白两种颜色之后,比较容易想到的是二分图,进而想到网络流。而最后可...

2021-03-01 21:22:00 35

原创 A Simple Problem On A Tree(The 2019 ICPC Asia Shanghai Regional Contest)

题目来源https://ac.nowcoder.com/acm/contest/4370/F题意分析  给出一棵树,有四种操作:  1 x y w 表示将从x到y这条简单路径的上所有点权改成w。  2 x y w 表示将从x到y这条简单路径的上所有点权加上w。  3x y w 表示将从x到y这条简单路径的上所有点权乘上w。  4x y 表示求出从x到y这条简单路径上的所有点的点权...

2020-12-08 21:53:00 44

原创 D. Rating Compression(Codeforces Global Round 12)

题目来源https://codeforces.ml/contest/1450/problem/D题意分析  给一个长度为n的数字序列。求所有长度为k的区间的最小值,是否能组合成一个从1到n-k+1的排列(置换),若能则a[k] = 1,否则为1。求a[1] - a[n]。思路分析  当k=1的时候,只要原来长度为n的数字序列为一个n的排列才合法。  而当k>1的时候,我们可以发...

2020-12-07 14:33:00 40

原创 Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final) [A - F]

题目来源https://codeforces.ml/contest/1443A. Kids Seating  在 [1, 4n]这个区间内寻找n个数字,使得这n个数两两不互质,两两不互相可以整除。思路分析   从2n+2开始,每隔2取一个数字即可。#include <bits/stdc++.h>using namespace std;const int maxn ...

2020-12-03 18:03:00 36

原创 Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) A-E

题目来源https://codeforces.ml/contest/1457A. Prison Break  给一个n*m的矩阵,问这个矩阵上到(a, b)距离最远的距离是多少?思路分析   找四个角即可。#include <bits/stdc++.h>using namespace std;int main(){ int t; scanf("%d", ...

2020-11-30 21:53:00 33

原创 Caesar Cipher (2020 China Collegiate Programming Contest, Weihai Site)

题目来源https://codeforces.ml/gym/102798题意分析  题目意思的大致可以描述为,给一个长度为n的序列,有两次操作。操作1是将某一区间段的数全部加1,操作2是询问以某两个位置x,y为起点的长度为ln的序列是否相同,进行yes\no的输出。需要注意的是,区间中的所有数字都在[0,65535)这个区间之内。思路分析  由操作1想到的是线段树。由操作2想到的是...

2020-11-21 15:17:00 38

原创 Rencontre (2020 China Collegiate Programming Contest, Weihai Site)

题目来源https://codeforces.ml/gym/102798/problem/C题意分析  题目意思大概是,给出一颗树,有三个集合,其中包括树上的一些点(不同集合之间会出现相同情况),每次从三个集合中各取一个点,在树上找到一个点到这三个点的距离最小。问所有组合的期望。思路分析  dp选手耻辱补题!  之前在考场上想到过一点,就是在树上某三个点形成的一种组合,他们的最终情...

2020-11-19 22:03:00 22

原创 F. Zero Remainder Sum(Codeforces Round #677 (Div. 3))

题目来源https://codeforces.ml/contest/1433/problem/F题意分析  题目意思的大致可以描述为,给一个n*m的方阵,并且给一个k,每一行我们最多只能取m/2个数字,问在这个方阵之中,在我们取的所有数的和为k的倍数的情况下,这个数和最大是多少?思路分析  数据范围不大,想到dp。  首先对每一行进行处理,因为每一行都是独立的。我们要处理出余数从0 ...

2020-10-21 22:38:00 30

原创 D. Returning Home (codeforces#675 Div. 2)

题目来源https://codeforces.ml/contest/1422/problem/D题意分析  题目意思的大致可以描述为,在一个n*n的方格之内,给你一个起始点和一个终点,以及m个传送点。当此时的坐标与某一个传送点的x坐标或者是y坐标相同的时候,就能直接飞到传送点。问从起始点到终点的最短路径为多长。思路分析  裸最短路的题目,即我们建个图,然后跑一下dijstra就行了。...

2020-10-06 20:21:00 34

原创 F. Number of Subsequence(Codeforces Round #674 (Div. 3))

题目来源https://codeforces.ml/contest/1426/problem/F题意分析  题目意思的大致可以描述为,给你一个串,该串只包括'a','b','c','?'四个字母,'?' 表示这一位可以填任何一个字母,问的是所有的情况下,即问号被替换成三个字母的所有情况下,其子串‘abc’的个数是多少?思路分析  第一眼就是dp,但是因为细节想了挺久的,记录一下整体的...

2020-09-29 21:54:00 22

原创 D. Discrete Centrifugal Jumps (codeforces-1407 Div. 2)

题目来源https://codeforces.ml/contest/1407/problem/D题意分析  题目意思的大致可以描述为,给一个序列,长度为n,每一次操作,我们可以向该点后面的点进行跳跃,跳跃的点的要求满足三条中的某一条条件即可。(设跳跃起点为i,跳跃终点为j,他们的高度放在a数组中)  1. j = i + 1;  2. a[i]和a[j]的值小于所有的i和j之间的值(不包...

2020-09-10 21:47:00 33

原创 E1. Weights Division (easy version)

题目来源https://codeforces.ml/contest/1399/problem/E1题意分析  题目意思的大致可以描述为,给定一棵带权有根树,其根为编号为1的点,要求根节点到所有叶结点的距离之和小于一个题目给出的值S。为了达到目标,每一次我们可以选定一条边,将其权值 wi 除以2向下取整。问最少需要多少次操作。思路分析  一看这个题目,可以意识到的是可以用贪心来解决这...

2020-08-30 11:59:00 29

原创 Ant colony(Codeforces - 474F)

题目来源https://codeforces.ml/problemset/problem/474/F题意分析  题目意思的大致可以描述为,给n个数字,组成一个数组。再给出m次询问,每次询问给出要求的区间的左端点和右端点。求该区间内不能整除所有数字的数的个数。思路分析  一般的区间问题,能首先想到的就是几种树、莫队吧。这里最后想到的是线段树。求该区间内不能整除所有数字的数的个数,满足这...

2020-07-04 23:06:00 40

原创 Super Mario[主席树](hdu4417)

传送门n个数据,m组询问,问l r这个区间里面小于等于k值的数有多少个。脑洞:首先知道了这是一个区间第k大的问题,我们想用主席树。建树和之前都是一样的,但是询问需要修改。即在递归的时候,我要判断的不再是数量的多少,而是这个数的大小,即与mid相比。然后把左边右边的sum相加。#include <iostream>#include <cstring>#inclu...

2020-02-11 16:43:51 212

原创 Count on a tree[树上主席树](SPOJ COT)

题目传送门题目的意思就是,给我们一棵树,树上每一个结点都有自己的权值,有m组询问,问两个点之间第k大的那个数是多少。脑洞:第k大,想到的是主席树,但是不会写。后来才知道如何建主席树。所有的结点复制其父结点进行建主席树,而我们想要得到的答案,只需要查找x, y, lca(x, y), f[lca(x, y][0]这四个结点之前的主席树就可以求出正确答案,因为x + y 为链上的所有点 ...

2020-02-10 20:01:12 150

原创 放一个主席树的板子[kaka]

#include <iostream>#include <cstring>#include <cstdio>#include <queue>#include <algorithm>#include <vector>#define len 100010using namespace std;struct no...

2020-02-09 22:44:19 106

原创 南京现场赛J题Spy【KM算法模板题】

Over time, those coaches in BDN Collegiate Progranuning Contest split into two camps.The big danger is that, while optimists and pessimists battle it out, the environment of this area becomes ever mor...

2019-12-14 11:00:46 414

原创 食物链[并查集]poj1182

题目传送门食物链动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地...

2019-12-03 23:36:42 106

原创 L3-023 计算图 (30 分)(dfs)

题目传送门题目的意思就是,让我们根据一张计算图(表示一个函数, 如fff(x1x_1x1​, x2x_2x2​) = lnlnlnx2x_2x2​ + x1x_1x1​x2x_2x2​ - sinsinsinx2x_2x2​ 对进行求函数值,求偏导(梯度)等操作。这张图就是 fff(x1x_1x1​, x2x_2x2​) = lnlnlnx2x_2x2​ +...

2019-11-18 19:00:39 527

原创 The Monocycle

The Monocycle看起来很复杂,写起来也挺复杂的。看了大佬的思路之后,发现算法其实就是搜索,只是不止两维的搜索了。题目大概意思就是,一个轮子滚啊滚,他只能朝一个方向滚动,每一秒钟可以选择滚一下或者是转个方向。轮子上有五个颜色,开始的时候是绿色,每滚动一次就会变一种颜色。要求在滚到终点的时候只能是绿色,方向没有要求。问最少要多少秒。脑洞: 写了这道题有个神奇的想法。先说这道题...

2019-11-07 22:55:14 101

原创 Magic Potion[2018年ACM-ICPC (南京赛区)](网络流)

Magic potion题意大概是,有n个英雄,m个怪兽,k瓶药。每一个英雄都有自己能够打败的一个怪兽列表。每个人只能打一只怪兽,但是每个人还有一次嗑药的机会,嗑一次药就能再打败一个怪兽。问最多能打败多少只怪兽。建图如上:#include <iostream>#include <cstring>#include <cstdio>#include...

2019-10-21 22:10:41 226

原创 整理一份最小生成树的模板(以Poj 1251为栗)

Jungle Roads这道题就是一道很水的最小生成树的题目,一下给出Prim和Kruskal的两种代码。两种代码都是用优先队列去实现的Prim:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <queue&...

2019-10-18 22:47:47 104

原创 线段是否相交 && 线段与直线是否相交 [Segments Poj3304]

题目传送门计算几何这题大概的意思就是,给你一系列的线段,问存不存在那么一条直线,当所有的线段向这条直线上投影的时候,投影能够有至少一个交点。脑洞:投影的事情,我们可以用一条直线来表示方向,表示所有的线段沿着这个直线的某个方向进行投影(投影直线将与这条直线相垂直)。 那么至少有一个交点就变成了,能不能找到一条直线,将所有的线段串在一起?接下里的任务是找这样的一条直线,这样的直线我们应该从...

2019-10-06 21:57:04 667

原创 Toy Storage[向量叉积 + 排序 + 二分]

Toy Storage计算几何基础题题意大致是:一个长方格,被分成好几个空间,然后再给你一堆点,问你每个空间里面有多少个点。脑洞:题意里面说了,这些分割空间的线没有交点,我们把他们用两个数组存一下,排个序。如何判断点是在哪个格子呢?将这个点和分割线的两端连线,形成两个向量(注意向量的方向,为该点指向分割线的两端), 如果这两个向量的叉积为负数(注意叉乘时两个向量的前后位置),则说明左...

2019-10-06 17:10:14 132

原创 P4013 数字梯形问题 [最小费用最大流问题]

P4013 数字梯形问题中文题干三个情况,就是三种建图的方式,而且三种建图越来越简单。虽说要建的图不太一样,但是本质上只是拆点不拆点,以及边的权值和流量选择的问题脑洞:三个规则:第一种::: 所有的点和边都不能相交,我们要进行拆点操作,每个点第一部分连接到上一层的点(第一层就连接源点)。每个点的第二部分连接到下一层的点(如果是最后一层就连接到汇点上去)。中间的所有边,他的流量都是一...

2019-09-03 23:05:17 141

原创 P4012 深海机器人问题 [最小费用最大流问题]

深海机器人问题中文题干大意就是,一些边,让那个多个机器人去走。机器人的起点和终点都可能不相同,每条边的权值都只能被加一次,问最大的权值是多少。第一次遇到两个点间可以建两条边的网络流图,长见识长见识。。。来源:洛谷题解这就是具体的建边图,超级厉害呃- -。将源点与各个起点相互连接,边的流量是出发的机器人数;将汇点与各个重点相互连接,边的流量是到达要到达这个点的机器人数;以上两类...

2019-09-02 20:39:06 142

原创 P2774 方格取数问题[最大独立点]

方格取数问题中文题干就是说让你在一个方格格里面取数字,然后保证取出的数字和最大。又是一道让我日常感叹,这也是网络流的题目。刚开始又以为是一个数学问题。不说废话,直接说为什么这是一道网络流的题目。想了挺久的,最后我这样说服自己了,这道题目的意思就是,我们要从一堆数字中拿出一些数字,保证数字的和是最大的,这些数和数之间是有相互的制约关系的。那我们就把他从方格里面抽象出来,一些点,相互制...

2019-09-01 09:58:15 198 2

原创 P2765 魔术球问题[二分图匹配]

魔术球问题中文题干这道题有点东西。。。题目意思就不说了;脑洞:首先要有一个判断完全平方数的函数,这个怎么判断也不说了。这是网络流24题中的题,是要我们用网络流的知识来写吧。但是想用匈牙利来试试。。这题有点动态的匈牙利的味道,就是这个二分图是在不断的变大的,直到他的最大独立点到达一个题目要求的值时,就停下来。之前一直不知道怎么让他变大,一直觉得是不是加一次就要重新跑一遍算法。。但...

2019-08-30 15:19:44 152

原创 洛谷P1251 餐巾计划问题[最小费用最大流]

中文题干写了挺久的,后来wr了好几次,发现建图建错了。又交了好几次 还是wr。后来发现 我tm把S和题目里面的s搞在一起了自闭在厕所。先来讲讲怎么建图。网络流的建图一直是一个很难的问题。我是这么想的,每天有两件事情要做早上拿来新毛巾 —> 来源: 买 快洗部,慢洗部,昨天留下来没用的(我之前就是把这个忘记了- -)晚上把脏了的毛巾拿去洗。 当然该洗多少,这是跑网络流的问...

2019-08-08 16:54:49 135

原创 网络流自学心得[最小割最大流定理+最小费用最大流问题]

网络流中还有两类重要的问题,一个是最小割最大流问题,还有一个是最小费用最大流问题最小割最大流定理先说结论,这个定理陈述了这么一个事实,一个网络流的最小割是等于这一个网络流的最大流。证明过程可以详见定理证明过程然后我讲讲我的理解。我记得有一个形象的比较。 网络流就相当于你家里的所有水管,自来水厂是超级源点,而你家的出水口就是汇点。现在有一个匪徒,想通过砍断你家的水管,使得出水口出不出...

2019-08-08 11:06:53 243

原创 B - Dining[dinic+拆点]

B - Dining题意大概是:一个大厨,有N头牛,每头牛都会有自己喜欢吃的饭菜和喜欢喝的饮料。现在大厨做了F份饭餐,D份饮料,只有同时有吃有喝的牛才会开心。然后问,最多有几头牛可以开心。这道题的难度在于建图,还有想到拆点这一点。先说怎么建图吧。我们把牛放在中间,左边食物,右边饮品,进行连线。然后源点和汇点怎么找呢? 我们让源点与所有的是食物有一条边,让汇点与所有的饮品有一条边。这样子...

2019-08-04 17:48:29 109

原创 网络流自学心得[dinic算法]

今天来讲讲dinic算法。在学习dinic算法之前,我觉得我们可以先学学链式前向星的数据结构。在做题的过程中,很多题目卡内存,再用邻接矩阵不太现实。链式前向星链式前向星2之前一直不懂链式前向星的遍历,那个head数组看不懂,所以在学习的时候,最好拿出笔把那个数组给画出来,然后在遍历的时候一一找遍历时候对应的边,就会发现他遍历时候的一个顺序。好了 然后重点。我们dinic算法。din...

2019-08-04 10:49:53 224

原创 网络流自学心得[day01]

匹配问题终于可以告一段落,虽然还不是很通透,但时间不允许了。接下来我们来看看网络流的问题,这个东西和匹配还是有一点相似的,但是也好难。第一天我们就来讲讲最大流 和 ek算法。。(虽然这个算法在竞赛中基本不用)- 最大流问题我们的网络流从最大流开始。那什么是最大流呢?如上图所示,假设我们现在要把一些物品从结点s(称为源点)运送到结点t(称为汇点),可以从其他结点中转,问能够到达t点的...

2019-08-02 11:31:52 125

原创 Q - Tour[KM算法+拆点]

Q - Tour题意大概是:一个王国有N个城市,M条路,都是有向路。现在要求去旅游,不过走的路只能是环(至少也需要有两个城市),即从某个城市开始,从某个城市结束。他们保证这些城市之间的路径都是有环构成的,求至少需要走多少路。脑洞:乍一看,以为是最短路或者是欧拉路之类的问题。但后来才发现,二分图的一个性质就是每个匹配点的入度和出度都为1(这肯定是匹配之后的)。我们把每一个点拆成两部分,一部分...

2019-07-31 22:36:54 133

空空如也

空空如也

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

TA关注的人

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