自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforce Deltix Round, Summer 2021 #D

Codeforce Deltix Round, Summer 2021 #D做到的第一个交互题,纪念一下题目链接题目大意:已知一个序列有n个数,你需要通过不多于2n次询问来求得这个序列中的第k大的元素每次询问有两种方式:or a b 测评机返回在序列中第a位和第b位数的按位或and a b 测评机返回在序列中第a位和第b位数的按位与题解:想要解题我们需要知道一个公式:a+b=a&b+a|b于是我们可以将第一位的数与其他位数的数进行相加(2n-2次询问)这时我们再将第二位与第三

2021-09-02 16:26:58 111

原创 CodeForce #736 C

昨天补题,写了一个看起来是图论却不那么图论的图论题题目链接:贵族题目大意:这里有N个贵族编号从1到N,编号为i的贵族据有i点权利,最初有M个“关系”,每一个a,b之间的关系都是相互的。当某个贵族满足:至少有一个朋友并且他所有的朋友权力都大于他时,这个贵族便被定义为是弱势的。我们有以下三种操作:在u、v之间添加一个“关系”将u、v之间的“关系”去掉为以下的程序计算答案程序描述:杀死所有的弱势贵族,并且删除所有与他相关的“关系”。于是,会有新的贵族成为弱势贵族。程序会一直执

2021-08-11 21:26:20 276 1

原创 网络流->最大流->Dinic板子&&Dinic当前弧优化代码详解

又是贴板子的一天贴贴#include<bits/stdc++.h>using namespace std;const int maxn=1e3+7;const int inf=0x3f3f3f3f;int cnt=0,n,m;int s,t;int head[maxn];int dep[maxn];struct edge{ int to,cost,next;}e[maxn*20];void add(int u,int v,int w){ e[cnt].to

2021-07-27 19:20:39 228

原创 LCA板子+应用例题

来个板子#include<iostream>#include<algorithm>#include<vector>#include<queue>#include<stack>#include<map>#include<stdio.h>#include<math.h>#include<algorithm>#include<string.h>#include<iom

2021-07-21 21:10:40 263

原创 2021年暑训最短路专题题解(待补全)

昨天一天才把DJ&SPFA卷明白,麻了麻了2021年暑训最短路专题Problem A:Til the Cows Come Home题目大意:已知一个有T条边,N个点的无向图,求从点1到点N的最短路(板子题)题解:数据量不大,DJ可以不需要优化,当点的数据超过1e4时最好采用堆优化DJ。AC代码:(堆优化DJ)#include<iostream>#include<string.h>#include<algorithm>#include<ve

2021-07-15 10:02:58 602 6

原创 2021年暑训热身专题

暑训比自己在家学效率真的高了不少,但也确实累了不少21年暑假集训热身专题problem A:Codeforce-127BCanvas Frames题目大意:给你n个木棍,一对长度相同的木棍为一组,两组构成一个四边形,问最多组成多少个。题解:用map判断是否存在“一对”(有一根就加一,凑成一对就归零),sum记录一共出现了多少对,除2即可。AC代码:#include<bits/stdc++.h>using namespace std;int main(){ int n,a

2021-07-13 20:45:42 153 2

原创 蒟蒻的图论学习

蒟蒻的图论学习图的表示邻接矩阵存图(适用于稠密图,常数复杂度内查询两点间是否有边,但空间复杂度较高)#include<bits/stdc++.h>using namespace std;const int maxn=1e5+7;int G[maxn][maxn];int main(){//存无属性的无向图 int V,E; cin>>V>>E;//V个顶点,E条边 memset(G,0,sizeof(G));//初始化为两点之

2021-04-20 16:51:52 141

原创 黑白博弈 | 线段树(维护区间最小值&&最大值)

黑白博弈 题目 分析 代码题目题目链接:黑白博弈分析首先我们通过读题:单点修改、查询很容易发现这道题可以用线段树解决,既然决定了用线段树解决,那么我们需要确定以下几个要素:1:使用线段树维护什么?2:如何通过线段树维护的数据获得我们需要的答案?Question1:我们需要用利用线段树维护什么?通过题目要求我们得知在进行查询操作时需要查询的数据是当前白块区间所有连续的白块数量,也就是说只要知道了该白块区间两端的黑块下标,我们就可以通过这两个黑块下标计算得出该区间的白块个数。那么

2021-02-26 23:30:41 1228 5

原创 5G传输 | MST(最小生成树)

5G传输 题目分析代码题目分析通过分析题目我们容易知道:相对于一般的MST来说,这一题不同的地方在于我们需要选取某些点作为基站,而建立基站是需要花费的。而一般的MST对于一张图来说只会存在边权,对于每个点是不会存在权值的。所以我们对这类题的处理方法是:建立虚点那么为什么要建立虚点呢?我们可以知道这一题的任意点都是可以建立基站的。打个比方:假如有三个城市A B C,对应的每个城市建立基站所需花费为1 1 2,A到B花费1,B到C花费2,A到C花费3。#mermaid-svg-yY

2021-02-23 20:36:11 373

原创 矩阵 | 线段树&区间gcd

矩阵**题目分析代码- 题目- 分析首先 我们需要理解x2∑i=x1 gcd(Ciy1,…,Ciy2)的含义:我们将其拆分为:gcd(Cx1y1,…,Cx1y2)+….+gcd(Cx2y1,…,Cx2y2);由于上述式子中每一个gcd里都包含一个公因子x,我们可以将这个x提取出来,那么这个式子就会转化为:(x1+…+x2)*gcd(y1,…,y2)经过转化问题已经非常明显了:题目中给出的a【】数组代表各个x,b【】数组代表各个y我们需要做的就是通过前缀和求出x1到x2的和,

2021-02-22 14:40:40 340 1

原创 神奇的数字串 | 线段树&类滑动窗口

神奇的数字串**题目分析代码*题目*分析首先 我们来理解一下题目中所定义的good串的含义:假设一个数字串长度为n,只有当这个数字串的任意前i(1<=i<=n)项和均大于0,我们才能称这个串为good串。简单来说就是 一个串所有前缀和的最小值大于0 才能称作good串。(不明白前缀和的小伙伴可以去这里https://blog.csdn.net/weixin_45629285/article/details/111146240看看,大佬讲的敲详细)其次 题目中还有一

2021-02-21 00:47:42 1142 4

空空如也

空空如也

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

TA关注的人

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