自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 2019 kickstart round H

H-Index题意:对于一个数组,对于每个i(1≤i≤n)i( 1\leq i \leq n)i(1≤i≤n),找到一个数字HHH,使得a1...aia_{1}...a_{i}a1​...ai​中大于等于HHH的数字的出现的次数也大于等于HHH。solution:可发现对于从iii到i+1i+1i+1,答案最多增加111,可以用优先队列或者数据结构来实现查询操作,时间复杂度O(nlog(n)...

2019-11-18 16:38:27 402

原创 SQL学习笔记------基础语法

创建数据库:CREATE DATABASE <数据库名>创建表:use student create table studentinfo( name varchar(20), id char(10), score int not null);use <数据库名> 指定数据库char 是固定字节长度, varchar 是可变的字节长度,后面的数字是最大字...

2019-11-09 15:11:47 52

原创 【codeforces 1243】D. 0-1 MST(补图的连通块计数)

题意:给你一个图,求补图的联通块个数。题解:考虑用使用并查集,用set存已经被放入并查集的点,对于没有放入的点,计算该点和联通块相连的点的个数,如果相连的点的个数小于联通块大小,则直接连进去即可。时间复杂度O(n+m∗log)O(n+m*log)O(n+m∗log)。代码:#include<bits/stdc++.h> using namespace std;const...

2019-11-07 10:15:16 376 3

原创 【AtCoder Grand Contest 040】B.Two Contests

题意nnn段区间,要把他们分到两个不同的集合S,TS,TS,T中,不能有剩余,每个区间只能在一个集合里,令SSS中所有区间的交的长度为lslsls,TTT中所有区间的交为ltltlt,求max{ls+lt}max\{ls+lt\}max{ls+lt}。题解找到 LLL 最大的区间 ppp 和 rrr 最小的区间 qqq,那么只有两种情况:1.1.1. p,qp,qp,q在同一个集合内,那么...

2019-11-04 10:42:44 308

原创 【HDU 3622】 Bomb Game(2-SAT)

题意:一个游戏有nnn轮,每轮提供给你两个坐标,你选择其中一个放置炸弹,到最后会放置nnn个炸弹,要保证任意两个炸弹的爆炸区域不会相交,每个炸弹的爆炸半径由你来决定,你的目的是使最小的半径最大。题解:考虑二分半径,对于半径rrr,O(n2)O(n^2)O(n2)的建立约束关系,利用2−SAT2-SAT2−SAT判断可行性。时间复杂度O(n2log(n))O(n^2log(n))O(n2log...

2019-10-30 15:26:06 52

原创 【codeforces 1225D】Power Products

题意计算满足ai∗aj=xk,i<ja_{i}*a_{j}=x^k,i<jai​∗aj​=xk,i<j的对数。思路考虑x∗y=pkx*y=p^kx∗y=pk,将xxx和yyy进行质因子分解可得:x=p1m1p2m2p3m3...pnmnx=p_1^{m_1}p_2^{m_2}p_3^{m_3}...p_n^{m_n}x=p1m1​​p2m2​​p3m3​​...pnm...

2019-10-27 22:21:05 187

原创 Educational Codeforces Round 75 (Rated for Div. 2)

A如果某个字母连续出现的次数是奇数,那么这个键一定是好的,遍历一遍即可。#include<bits/stdc++.h>using namespace std;int main(){ int T; cin>>T; while(T--){ string s; cin>>s; set&l...

2019-10-25 20:09:05 37

原创 Codeforces Round #595 (Div. 3)

A对数组排序,如果存在相邻两项为1,则最少可以分成两组,否则分成1组。#include<bits/stdc++.h> using namespace std;int a[200];int main(){ int T; cin>>T; while(T--){ int n; cin>>n; ...

2019-10-23 16:59:59 50

原创 【LOJ 网络流24题】方格取数

方格取数题解按照顺序对应不同的格子染色,相邻的染不同的颜色,从SSS向所有的黑色的点建流量为对应权值的边,从所有的白点向TTT建流量为对应权值的边。对于有冲突的黑点和白点之间建流量为infinfinf的边,跑最小割,所有点的和减去最小割即为答案(最大权独立子集)代码:#include<bits/stdc++.h>using namespace std;const int ...

2019-10-11 17:52:52 38

原创 【LOJ 网络流24题】试题库

试题库题解:SSS向mmm中类型连接容量为对应需求量的边,题目种类和对应的属于该种类的题目连流量为1的边,每道题和TTT连流量为111的边,跑最大流即可。#include<bits/stdc++.h>using namespace std;const int N = 80000;const int maxn = 2000;const int INF = 0x3f3f3f...

2019-10-11 17:47:10 35

原创 【LOJ 网络流24题】最长递增子序列

最长递增子序列题解:对于第一个查询直接dpdpdp即可,dpidp_{i}dpi​代表以iii结尾的最长上升子序列的最大长度,计算出sss。对于第二个查询,对于每个点拆分成两个点i1,i2i_1,i_2i1​,i2​,如果dpidp_idpi​为111,则SSS向i1i_1i1​连接流量为111的边,如果dpidp_idpi​为sss,则i2i_2i2​向TTT连接流量为111的边,对于每...

2019-10-11 15:01:57 32

原创 【LOJ 网络流24题】圆桌聚餐

圆桌聚餐题解:从SSS向每个单位连接流量为rir_iri​的边,每个单位向每个桌子连接流量为111的边,每个桌子向TTT连接流量为cic_ici​的边,跑最大流即可。如果满流,即maxflow=maxflow=maxflow=人数,则存在方案。对于方案的输出:对于每个单位,记录下向哪些桌子流出了流量即可。代码:#include<bits/stdc++.h>using nam...

2019-10-11 14:49:54 34

原创 【LOJ 网络流24题】魔术球

魔术球题解:考虑如果i+ji+ji+j为完全平方数,则iii和jjj之间连一条边,那么最后构成一个图GGG,那么问题即可转化为寻找一个最大的数字mmm,使得按照上述方法构成的图的最小路径覆盖数小于等于nnn,我们二分mmm即可,构造方案同最小路径覆盖一题。#include<bits/stdc++.h>using namespace std;const int N = 100...

2019-10-10 18:50:14 60

原创 【LOJ 网络流24题】最小路径覆盖

最小路径覆盖题解:假设x,yx,yx,y之间有一条边,则把xxx和yyy分别拆成x1,x2,y1,y2x_1,x_2,y_1,y_2x1​,x2​,y1​,y2​。在x1x_1x1​和y2y_2y2​之间连接一条流量为111的边,构造好二分图后答案即为n−maxmatchn-maxmatchn−maxmatch。对于方案的输出,可以利用并查集,对于xxx和yyy,如果流量流经x−>yx-...

2019-10-10 16:48:05 37

原创 【LOJ 网络流24题】太空飞行计划

太空飞行计划题解:最大权闭合子图,设V′V'V′为G(V,E)G(V,E)G(V,E)的一个点集,如果VVV中对于每个点的所有的出边所到达的点也∈V′\in V'∈V′,那么V′V'V′即为一个闭合子图,最大权闭合子图即为所有的闭合子图中权值和最大的。定理:从SSS向所有权值为正数的点增加一条等于该点点权的流量的边,从所有权值为负数的点向TTT增加一条等于该点权绝对值流量的边,对于u(wu&...

2019-10-10 16:46:55 49

原创 【codeforces 590div3】F.Yet Another Substring Reverse

题意:现在有一个字符串 sss(1≤∣s∣≤1061 \leq |s| \leq 10^61≤∣s∣≤106),现在选择一个区间[l,r][l,r][l,r],反转一次或者不反转。若某区间的字母各不相同,则该区间为完美区间。你要做的就是执行完操作后使完美区间的长度最大。(整个字符串的字母种类数不超过202020)题解:这个问题可以转换为寻找两个不相交的完美区间使得他们的长度和最大。首先枚举...

2019-10-02 12:14:03 86 3

原创 codancer的图论训练(updating...)

2019.9.12580C.Kefa and Parktags: 简单DFS1081D.Maximum Distancetags:带点思维的MST,学会了只联通某些点的并查集

2019-09-12 19:03:28 90

原创 JSOI2007:字符加密(后缀数组)

题意:将长度为nnn的字符串排成一圈,对于nnn种排列方式构成的字符串按字典序从小到大输出最后一位。题解:1.将原串扩展成2倍(避免有些没有遍历到)。2.建立后缀数组,对于saisa_{i}sai​小于nnn的输出第sai+n−1sa_i+n-1sai​+n−1位即可。代码:// luogu-judger-enable-o2#include<bits/stdc++.h>...

2019-09-12 11:11:13 26

原创 The Preliminary Contest for ICPC Asia Xuzhou 2019

B.so easy并查集,可能会卡掉map,建议使用unordered_map。#include<bits/stdc++.h>using namespace std;const int N = 1e6+100;const int mod = 1e9+7;typedef long long ll;const int INF = 0x3f3f3f3f;const ll ll...

2019-09-09 17:24:15 105

原创 The Preliminary Contest for ICPC Asia Nanjing 2019

A.The beautiful values of the palace首先对于每个(x,y)(x,y)(x,y),我们可以O(1)O(1)O(1)的查询出这个坐标的值。接下来就将问题转化为了一个106⋅10610^6 \cdot 10^6106⋅106的矩阵,每次查询子矩阵内的点的和。考虑将所有的yyy离散化,计mpi,jmp_{i,j}mpi,j​表示(1,1)−(i,j)(1,1)-(i...

2019-09-04 11:08:53 138

原创 AtCoder Beginner Contest 139

A#include<bits/stdc++.h>using namespace std;const int N = 1e6+100;const int mod = 1e9+7;typedef long long ll;const int INF = 0x3f3f3f3f;const ll llINF = 0x3f3f3f3f3f3f3f3f;#define rep(i,...

2019-09-01 22:14:48 125

原创 【codeforces 1026 D】 Shortest Cycle(最小环)

题面题意:一个长度为nnn的数组,如果ai&aj!=0a_{i} \& a_{j}!=0ai​&aj​!=0,那么iii和jjj之间就有一条边,计算所构成图的最小环。(1≤n≤100000,1≤ai≤1018)(1 \leq n \leq 100000,1 \leq a_i \leq 10^{18})(1≤n≤100000,1≤ai​≤1018)思路...

2019-08-28 17:43:37 73

原创 【codeforces 1208D】 Restore Permutation(线段树)

题面题意:一个长度为nnn的排列aaa,现在定义pip_ipi​为数组aaa中下标小于等于iii并且小于aia_iai​的数字的和。现在给定ppp,求aaa。思路:首先可以肯定的是,ppp中最后一个000出现的位置pospospos在aaa中一定是111。我们可以反证:假设aposa_{pos}apos​不为111,假设111在pospospos之前,那么ppos≥1p_{pos} \g...

2019-08-27 11:30:20 59

原创 【HDU 6714】最短路2(Dijkstra)

题面题意:对于floyedfloyedfloyed算法,Di,jD_{i,j}Di,j​表示最外层循环最小的能够求出来disi,jdis_{i,j}disi,j​的循环次数,计算∑i=1n∑j=1nDi,j\sum_{i=1}^{n}{\sum_{j=1}^{n}{D_{i,j}}}∑i=1n​∑j=1n​Di,j​思路其实Di,jD_{i,j}Di,j​即为iii到jjj的最短路路径上最...

2019-08-25 08:53:39 47

原创 【HDU 6638】Snowy Smile(线段树求区间连续最大和)

题面题意平面坐标系有nnn个点,第iii个点的坐标为(xi,yi)(x_i,y_i)(xi​,yi​),每个点有个权值wiw_iwi​,现在你需要寻找一个矩形把某些点圈起来使得他们的权值和最大。思路先把各点的纵坐标离散化,然后把所有的点按照横坐标从小到大排序,枚举矩形的左边界,每加入一个新的点,就把它对应纵坐标yyy的权值和w[y]w[y]w[y]更新并更改右边界,当左右边界都确定以后,利...

2019-08-10 10:56:47 43

原创 【HDU 6627】equation(分段函数求值)

题目链接题意:两个长度为nnn的数组aaa和bbb和一个正整数CCC,计算有多少个xxx满足:∑i=1n∣ai⋅x+bi∣=C\sum_{i=1}^n|a_i \cdot x+b_i|=Ci=1∑n​∣ai​⋅x+bi​∣=C思路:该函数为分段函数,每段的转折点为−biai-\frac{b_i}{a_i}−ai​bi​​,先把转折点排序,计最开始的函数值为x⋅suma+sumbx \...

2019-08-06 10:57:12 49

原创 2019牛客暑期多校D.Big Integer

题面题意:定义A(n)A(n)A(n)为nnn个1构成的数字,如A(3)=111A(3)=111A(3)=111,计算有多少对(i,j)(i,j)(i,j)使得A(ij)%p=0A(i^j) \% p = 0A(ij)%p=0。思路:通过枚举发现是有上面的等式是有循环节的,而且循环节是p−1p-1p−1的因子,因此暴力枚举计算出循环节ddd,接下来就是求有多少对ij%d=0i^j \% d...

2019-08-05 20:32:49 38

原创 【HDU 6621】 K-th Closest Distance(主席树+二分)

题面题意:一个长度为nnn的数组,有mmm次查询,对于每次查询,查询[l,r][l,r][l,r]内距离ppp第kkk近的距离。强制在线。思路考虑二分距离disdisdis,对于每次的disdisdis,判断在[l,r][l,r][l,r]内在区间[p−dis,p+dis][p-dis,p+dis][p−dis,p+dis]内的数是否超过了kkk个,该操作可以利用主席树来实现,复杂度O(n...

2019-08-05 19:40:16 58

原创 对主席树的理解以及使用

引入一个长度为nnn的数组,有mmm次查询,每次查询区间[l,r][l,r][l,r]内第kkk小的元素。如果使用暴力,肯定不可以使用线段树?可是我只会查询区间最值啊。那么我们把问题再次简化一下,查询[1,n][1,n][1,n]第kkk小的元素,要求使用线段树来实现。权值线段树为了解决这个问题,我们引入一个名词:权值线段树。那么权值线段树是如何解决上面那个问题的呢?首先,我们对数组...

2019-07-30 15:55:52 371 2

原创 2019 牛客多校第二场 D.Kth Minimum Clique(bitset优化)

D.Kth Minimum Clique(bitset优化)题面题意:求一个无向连通图的第KKK大完全子图。思路:新技能:利用bitsetbitsetbitset存储子图,假设把iii能到达的点的位设置为111,这样我们就可以通过直接进行与运算来判断这个点是否能放到现在的团里面。然后BFS即可。代码:#include<bits/stdc++.h> using name...

2019-07-23 21:30:10 74

原创 2019江西省程序设计竞赛

A.Cotree题意:两棵树,你需要连接两个点使得∑i=1i=n∑j=i+1j=ndis(i,j)\sum_{i=1}^{i=n}{\sum_{j=i+1}^{j=n}}{dis(i,j)}∑i=1i=n​∑j=i+1j=n​dis(i,j)最小。思路:对于每棵树进行换根dp,对每棵子树找到一个点使得所有点到这个点的距离和最小,连接这两个点,然后进行一次DFS统计每条边的贡献,累加即可。...

2019-07-21 23:23:31 344

原创 【 Codeforces Round #572 (Div. 2)】E. Count Pairs(数学)

题面题意:现在有一个长度为nnn的数组aaa,找出有多少对(i,j)(i,j)(i,j)满足1≤1\leq1≤i<ji<ji<j≤n\leq n≤n并且(ai+aj)∗(ai2+aj2)modp==k(a_i+a_j)*(a_i^{2}+a_j^{2})modp==k(ai​+aj​)∗(ai2​+aj2​)modp==k。思路:左右同乘(ai−aj)(a...

2019-07-06 10:05:12 297

原创 【Educational Codeforces Round 67 (Rated for Div. 2)】E. Tree Painting(换根DP)

题面题意:一棵树,有nnn个节点,现在要找一个点作为根节点使得这棵树的所有子树的大小和最大。求出最大值。思路:先利用一次dfs求出以iii为根的子树的大小sizisiz_isizi​和所有的字数和$$...

2019-07-03 10:49:49 67

原创 【ABC 132 E】Hopscotch Addict(最短路)

题面题意:一个有向图,从SSS出发,每次只能走三步(即连续三条边),现在问你能否经过若干步到达TTT,如果可以输出最少的步数,否则输出−1-1−1。思路:disi,jdis_{i,j}disi,j​代表S到iS到iS到i的距离disdis%3dis为jjj的最短路,我们要计算的即为disT,0dis_{T,0}disT,0​,BFSBFSBFS即可,注意状态的传递。code:#incl...

2019-06-30 16:40:55 218

原创 【Codeforces Round #569 (Div. 2)】 题解

A小学数学题#include<bits/stdc++.h>using namespace std;long long f[102];void init(){ f[1]=1; for(int i=2;i<=101;i++){ f[i]=f[i-1]+(i-1)*4; }}int main(){ init(); int n; cin>>n;...

2019-06-24 11:58:01 95

原创 【CF 1185G1】Playlist for Polycarp (easy version)(状压DP)

题面题意现在你有nnn首歌,第iii首歌的播放时间为tit_iti​,种类为fif_ifi​,其中1≤fi≤31 \leq f_i \leq 31≤fi​≤3,现在你从家到学校需要花费TTT的时间,你在路上不想闲着,现在你要选几首歌按照一定的顺序播放,你要保证着几首歌的时间总和为TTT(每首歌只会播放一次),并且在播放的时候不会连续播放同一种类的歌曲,计算共有多少种方案,答案对109+710^...

2019-06-20 20:35:00 120

原创 BZOJ 1003: [ZJOI2006]物流运输(最短路+DP)

题面题意:现在有一个mmm个点eee条边的无向连通图,总共有nnn天,你每天都选取一条路径使得111到mmm的花费最小,可是在[ai,bi][a_i,b_i][ai​,bi​]天,某个节点did_idi​不能走,现在你要求这nnn天总花费最少为多少。思路:我们先标记编号为iii的点是否能在jjj天行得通,然后预处理出从第iii天到第jjj天在不改变路径情况下的最短路。接下来进行DP:我...

2019-06-12 21:07:08 52

原创 拉格朗日插值的应用

引言:什么是拉格朗日插值?假设我们现在有三个点 (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3)(x1​,y1​),(x2​,y2​),(x3​,y3​),现在我们要找一条唯一的二次曲线刚好经过这三个点。拉格朗日给出了一个绝妙的方法,他把我们要求的曲线的表达式等同于三个函数的累加。具体是这么操作的:第一个函数保证f1(x1)=1,f1(...

2019-06-03 19:36:51 1314

原创 The 13th Chinese Northeast Collegiate Programming Contest 部分题解

B. Balanced Diet题意:商店有mmm种nnn个糖果,每个糖果有一个权值,现在你要买一些糖果使得Sc\frac{S}{c}cS​最大,其中SSS为你购买的糖果的权值和,ccc为你购买的出现次数最多的那种糖果出现的种类数,但是每种糖果的购买数量不能在[1,li)[1,l_i)[1,li​)之间。思路:枚举ccc,利用前缀和求得购买的每种糖果的权值和,更新最大值。代码:#inc...

2019-05-31 18:16:10 291

原创 Codeforces Round #562 (Div. 2) A B C D题解

A. Circle Metro直接模拟即可。#include<bits/stdc++.h>using namespace std;int main(){ int n,a,x,b,y; cin>>n>>a>>x>>b>>y; for(int i=1;i<=300;i++){ if(a<n) a++...

2019-05-30 19:00:03 73

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