自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Codeforces Round #590 (Div. 3) F

传送门题意:给出一个只含前\(20\)个字符的字符串,现在可以选择一段区间进行翻转,问区间中字符各不相同时,最长长度为多少。思路:首先,容易将题意转换为选择两个字符各不相同的区间,然后长度相加取最大;注意到字符串中满足条件的区间长度不超过\(20*n\),那么处理出所有区间,现在任务即为找到两个区间,其字符各不想同,且长度和最大;因为最多\(20\)个字符,将满足条件的区间...

2019-10-02 23:56:00 196

转载 AtCoder Regular Contest 99

传送门C - Minimization第一次可能有多种选择,我们枚举所有的选择,然后两边贪心取即可。Code#include <bits/stdc++.h>#define MP make_pair#define fi first#define se second#define sz(x) (int)(x).size()//#define Localusi...

2019-09-26 21:37:00 192

转载 2018 Multi-University Training Contest 2

传送门C - Cover题意:给出一张无向图,现在问最少多少次“一笔画”能够覆盖所有的边,并且输出方案数。思路:在无向图中,存在欧拉路径当且仅当所有点度数都为偶数或者只有两个点的度数为奇数并且一个点为起点一个点为终点。因为一次“一笔画”最多消掉两个奇数点,所以最少的次数就为\(max(\frac{d}{2},1),d\)表示奇数点个数。关键在于怎么构造方案。最直接的想法...

2019-09-26 14:24:00 242

转载 AtCoder Regular Contest 100

传送门C - Linear Approximation题意:求\[\sum_{i=1}^nabs(A_i-(b+i))\]\(A_i,b\)给出。思路:将括号拆开,变为\(A_i-i-b\),所以将所有的\(A_i\)减去\(i\),然后就是一个经典问题了。Code#include <bits/stdc++.h>#define MP make_pai...

2019-09-25 21:55:00 162

转载 高维前缀和总结

前言今天中午不知怎么的对这个东西产生了兴趣,感觉很神奇,结果花了一个中午多的时间来看QAQ下面说下自己的理解。高维前缀和一般解决这类问题:对于所有的\(i,0\leq i\leq 2^n-1\),求解\(\sum_{j\subset i}a_j\)。显然,这类问题可以直接枚举子集求解,但复杂度为\(O(3^n)\)。如果我们施展高维前缀和的话,复杂度可以到\(O(n\cdo...

2019-09-25 16:06:00 3933

转载 Codeforces Round #588 (Div. 2)

传送门A. Dawid and Bags of Candies乱搞。Code#include <bits/stdc++.h>#define MP make_pair#define fi first#define se second#define sz(x) (int)(x).size()//#define Localusing namespace std...

2019-09-24 22:05:00 187

转载 2018 Multi-University Training Contest 1

传送门A - Maximum Multiple推一下式子暴力判断即可,范围不会太大。Code#include<bits/stdc++.h>typedef long long ll;typedef double db;using namespace std;int a[15][3]{ {2,3,6}, {2,4,4}, ...

2019-09-23 14:31:00 122

转载 AtCoder Regular Contest 101

传送门C - Candles双指针维护一个区间搞一下就行。Code#include <bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;const int N = 1e5 + 5;int n, k;int a[N];int main() { ...

2019-09-22 22:28:00 173

转载 Educational Codeforces Round 73 (Rated for Div. 2)

传送门A. 2048 Game乱搞即可。Code#include <bits/stdc++.h>#define MP make_pair#define fi first#define se second#define sz(x) (int)(x).size()//#define Localusing namespace std;typedef long...

2019-09-20 20:11:00 109

转载 Codeforces Round #586 (Div. 1 + Div. 2)

传送门A. Cards记录一下出现的个数就行。Code#include <bits/stdc++.h>#define MP make_pair#define fi first#define se second#define sz(x) (int)(x).size()//#define Localusing namespace std;typedef l...

2019-09-19 20:42:00 233

转载 The Preliminary Contest for ICPC Asia Shenyang 2019

传送门B. Dudu's maze题意:是什么鬼东西???我读题可以读半小时QAQ给出一张无向图,一个人在里面收集糖果,每个点都有一个糖果,特殊点除外。当他第一次进入特殊点时,会随机往一条边走;之后再进入特殊点时,直接退出。问最后期望获得的糖果数为多少。思路:注意到这个人肯定会贪心走的,即是每次到一个连通块,肯定要把里面的糖果都拿完,然后再选一个随机走。不管往哪个方向,...

2019-09-18 22:20:00 136

转载 The Preliminary Contest for ICPC Asia Shanghai 2019

传送门B. Light bulbs题意:起初\(n\)个位置状态为\(0\),\(m\)次操作,每次操作更换区间状态:\(0\)到\(1\),\(1\)到\(0\)。共有\(T,T\leq 1000\)组数据,\(n\leq 10^6,m\leq 1000\)。最后输出状态为\(1\)的个数和。思路:一开始冲了一发维护差分,最后求出前缀和,成功\(TLE\)。其实只要发现...

2019-09-18 21:22:00 129

转载 Codeforces Round #584

传送门A. Paint the Numbers签到。Code#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 105;int n;int a[N];bool used[N];int main() { ios::sync_with_stdi...

2019-09-16 23:21:00 113

转载 Codeforces Round #585 (Div. 2)

传送门A. Yellow Cards细心点即可。Code#include <bits/stdc++.h>#define fi first#define se second#define MP make_pairusing namespace std;typedef long long ll;typedef pair<int, int> pii...

2019-09-16 22:38:00 98

转载 AtCoder abc 141 F - Xor Sum 3(线性基)

传送门题意:给出\(n\)个数\(a_i\),现在要将其分为两堆,使得这两堆数的异或和相加最大。思路:考虑线性基贪心求解。但直接上线性基求出一组的答案是行不通的,原因之后会说。注意到如果二进制中某一位\(1\)的个数出现了奇数次,那么无论怎么分,都会有一组中这位为\(1\);对于出现偶数次的位,两组中该位都可以有\(1\),或者都没有\(1\)。那么我们只需要贪心地插入二...

2019-09-16 14:04:00 271

转载 The Preliminary Contest for ICPC Asia Xuzhou 2019

传送门A. Who is better?扩展中国剩余定理+斐波那契博弈,没啥好说的,关于斐波那契博弈,详见:传送门Code#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 15;const ll MAX = 1e15;int k;ll a[N], ...

2019-09-13 17:34:00 420

转载 2019徐州网络赛 H.function

题意:先有\(n=p_1^{k_1}p_2^{k_2}\cdots p_m^{k_m}\),定义\(f(n)=k_1+k_2+\cdots+k_m\)。现在计算\[\sum_{i=1}^nf(i!)\% 998244353\]思路:首先注意到\(f\)函数有这样一个性质:\(f(ab)=f(a)+f(b)\)。那么我们化简所求式子有:\[\begin{aligned}...

2019-09-13 16:00:00 141

转载 HDU5126 stars(cdq分治)

传送门题意:先有两种操作,插入和查询,插入操作则插入一个点\((x,y,z)\),查询操作给出两个点\((x_1,y_1,z_1),(x_2,y_2,z_2)\),回答满足\(x_1\leq x\leq x_2,y_1\leq y\leq y_2,z_1\leq z\leq z_2\)的\((x,y,z)\)的个数为多少。思路:就是带修改的四维偏序问题。首先我们可以将每个点看作...

2019-09-10 21:21:00 138

转载 Comet OJ - Contest #10 C.鱼跃龙门

传送门题意:求最小的\(x\),满足\(\frac{x(x+1)}{2}\% n=0,n\leq 10^{12}\)。多组数据,\(T\leq 100\)。思路:直接考虑模运算似乎涉及到二次剩余什么的,但比较复杂。注意到比较特殊的就是,最后结果为\(0\),那么我们就考虑将问题转化为整除。所以式子等价于\(n|\frac{x(x+1)}{2}\)即\(2n|x(x+1)\...

2019-09-10 21:12:00 238

转载 牛客练习赛51

传送门A - abc题意:给出字符串\(s\),要求统计\(s\)中子序列为\("abc"\)的个数。思路:分别统计一下前缀\(a\)和后缀\(c\)的个数即可。Code#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MOD = 1e9 + 7;con...

2019-09-10 20:54:00 133

转载 [HZOI 2016] 偏序(CDQ套CDQ)

传送门思路:就是cdq套cdq的模板题#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 100005;struct node { int d1, d2, d3, d4, part;}a[N], b[N], d[N];int n, ans;...

2019-09-09 19:18:00 167

转载 AtCoder Beginner Contest 140

传送门A - Password输出\(n*n*n\)即可。Code#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 2e5 + 5;int n;int main() { ios::sync_with_stdio(false); cin.tie...

2019-09-09 14:42:00 375

转载 Codeforces Good Bye 2016 E. New Year and Old Subsequence

传送门题意:给出一个长度为\(n\)的串,现在有\(q\)个询问,每个询问是一个区间\([l,r]\),要回答在区间\([l,r]\)中,最少需要删多少个数,满足区间中包含\(2017\)的子序列而不包含\(2016\)的子序列。思路:先不考虑多个询问,那么这个问题区间\(dp\)可以解决,状态定义中要附加状态转移的代价。比如当前数字为\(7\),那么显然从状态\(201\)...

2019-09-09 13:55:00 131

转载 The 2019 Asia Nanchang First Round Online Programming Contest

传送门A. Enju With math problem题意:给出\(a_1,\cdots,a_{100}\),满足\(a_i\leq 1.5*10^8\)。现在问是否存在一个\(pos\),满足:\[\forall x\in [1,100],a_x=\varphi(x+pos-1)\]思路:假设素数间隔没有超过\(100\),那就很简单,直接枚举\(a_i\),判断...

2019-09-09 12:56:00 110

转载 Educational Codeforces Round 72 (Rated for Div. 2)

传送门A. Creating a Character暴力枚举显然不行,推一下式子就出来了,注意一下边界条件。Code#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5 + 5; int main() { ios::sync_with_s...

2019-09-07 10:53:00 84

转载 Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)

传送门A. Optimal Currency Exchange枚举一下就行了。Code#include <bits/stdc++.h>using namespace std;typedef long long ll;int n, a, b;int main() { ios::sync_with_stdio(false); cin.tie(0); ...

2019-09-05 15:40:00 73

转载 AtCoder Regular Contest 102

传送门C - Triangular Relationship题意:给出\(n,k\),现在要你求合法三元组的数量,合法是指对于一个三元组\((a,b,c)\),每个数都不超过\(n\),并且\(a+b,b+c,a+c\)为\(k\)的倍数。思路:按照模\(k\)的余数来讨论即可。Code#include <bits/stdc++.h>using namesp...

2019-09-04 22:15:00 134

转载 AtCoder Regular Contest 103

传送门C - /\/\/\/题意:给出一个序列\(\{a_i\}\),先要求其满足以下条件:\(a_i=a_{i+2}\)共有两个不同的数你现在可以修改任意个数,现问最少修改个数为多少。思路:很明显奇偶分类。记录奇数位置、偶数位置的最大值和最大出现次数的情况;因为要求两个数不相同,所以还要维护次大。注意以下细节就是了。Code#include <...

2019-09-04 22:14:00 127

转载 POJ1741 Tree(点分治)

传送门题意:给出一颗边权为正数的树,问有多少点对之间的距离小于等于\(k\)。思路:点分治模板题,对于一个子问题,\(dfs\)出所有的距离之后,排个序可以用双指针,或者直接二分也行,复杂度都为\(O(nlogn^2)\)。#include <bits/stdc++.h>using namespace std;typedef long long ll;cons...

2019-09-03 18:29:00 100

转载 洛谷P2634 [国家集训队]聪聪可可(点分治)

传送门题意:给出一颗树,每条边都有一定的边权。先问点之间路径和为\(3\)的倍数的点对有多少。思路:点分治模板题。可以将问题转化为经过一个点\(t\)的路径和不经过点\(t\)的路径两种情况,后者可以直接递归处理。在一个子问题中,\(dfs\)一遍处理出根结点到其余子树中所有点的距离,然后得到距离除以3的余数,根据余数来选即可。注意还要容斥一下,因为可能选择的两个点有重复...

2019-09-03 18:23:00 104

转载 回文自动机的一点思考

今年多校有这样一道题:传送门做法如果直接dfs暴力跳fail指针,跳到一个标记了的结点就break,跑得很快,后面有群友说只需要跳一次fail指针即可。当时没怎么想明白,今天来看又想了一下,发现证明并不难,只需要分几种情况即可,我就直接放图吧:总结: 在许多的自动机中都存在fail指针,并且结点与其指向结点通常含有包含关系,所以fail指针是求解子串问题强有力的工具。平时...

2019-09-03 13:02:00 84

转载 P4097 [HEOI2013]Segment(李超树)

传送门题意:现在需要维护两种操作,一种是插入一条线段,另一种是询问\(x=k\)时,最上方线段的编号,如有多个线段处于最大值状态,那么就输出编号最小的。强制在线。思路:这就是一个李超树的模板题...李超树一般就可以用来维护一些跟线段、直线有关的问题,比如询问当\(x=x_0\)时,所有线段的最大值、最小值等等,也可以用来维护凸包什么的。写法比普通线段树写起来稍微细节要多点,...

2019-09-02 22:12:00 104

转载 The Preliminary Contest for ICPC Asia Nanjing 2019

传送门A. The beautiful values of the palace题意:给出一个\(n*n\)的矩阵,并满足\(n\)为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充。之后会给出\(m\)个有效数字的坐标,坐标左下角为\((1,1)\),右上角为\((n,n)\),其余数字都为\(0\)。之后会有多个询问,每个询问给出一个子矩阵,问子矩阵中元素和为多少...

2019-09-02 11:22:00 81

转载 Educational Codeforces Round 71 (Rated for Div. 2)

传送门A.There Are Two Types Of Burgers签到。B.Square Filling签到C.Gas Pipeline每个位置只有“高、低”两种状态,所以直接根据条件来\(dp\)即可。Code#include <bits/stdc++.h>#define MP make_pair#define INF 0x3f3f3f3f3f3f...

2019-08-31 22:28:00 161

转载 HDU6583:Typewriter(dp+后缀自动机)

传送门题意:给出\(p,q\),现在要你生成一个字符串\(s\)。你可以进行两种操作:一种是花费\(p\)的代价随意在后面添加一个字符,另一种是花费\(q\)的代价可以随意赋值前面的一个子串。现在问最小代价是多少。思路:考虑\(dp\),那么就有转移方程:\(dp[i]=min\{dp[i-1]+p,dp[j]+q\}\),即直接对两种操作取min即可。注意到该\(dp\)...

2019-08-31 14:20:00 244

转载 [TJOI2015]弦论(后缀自动机)

传送门题意:对给定字符串\(s\),求其第\(k\)小子串,重复串被计入以及不被计入这两种情况都需考虑。思路:首先构建后缀自动机,之后就考虑在后缀自动机上\(dp\)。我们知道如果要考虑重复串,那么就会与一个结点的\(endpos\)集合的大小有关,对于一条边\((u,v)\),如果结点\(u\)的\(endpos\)集合大小为\(x\),那么就说明从\(u\)出发到达\(v\...

2019-08-31 14:10:00 70

转载 后缀自动机专题(hihocoder)

传送门#1445 : 后缀自动机二·重复旋律5题意:给出字符串\(s\),询问字符串\(s\)中有多少不同的子串。思路:考虑对\(s\)建后缀自动机,那么\(\sum (len[i]-len[fa[i]])\)即为答案。还可以考虑\(dp\),设\(dp[i]\)为从\(i\)出发不同子串的个数,那么\(dp[i]=\sum_{(i,j)\in Edge}dp[j]+1\)。...

2019-08-30 20:12:00 147

转载 min25筛学习总结

前言杜教筛学了,顺便把min25筛也学了吧= =刚好多校也有一道题需要补。下面推荐几篇博客,我之后写一点自己的理解就是了。传送门1传送门2传送门3这几篇写得都还是挺好的,接下来我就写下自己对min25筛的理解吧 。正文简介:min25筛同杜教筛类似,是用来解决一类积性函数的前缀和,即\(\sum_{i=1}^nF(i)\),并且这里的\(n\)可以达到\(10^{10}...

2019-08-27 22:23:00 218

转载 P4137 Rmq Problem / mex(主席树)

传送门思路:直接上主席树,对于每个询问\((l,r)\),我们在第\(r\)个版本的主席树中查询最晚出现的小于\(l\)最小的数就行了。因为答案可能为\(a_i+1\),所以我们在离散化的时候考虑将\(a_i+1\)加进去。一开始主席树部分没有思考清楚,还是对主席树的理解不够深入吧。。。其实就是一个维护前缀信息的数,后面的信息如果和前面有重复的,在这题中会直接将原来的覆盖掉。反正...

2019-08-26 22:20:00 125

转载 洛谷P2365 任务安排(斜率优化dp)

传送门思路:最朴素的dp式子很好考虑:设\(dp(i,j)\)表示前\(i\)个任务,共\(j\)批的最小代价。那么转移方程就有:\[dp(i,j)=min\{dp(k,j-1)+(sumT_i+S*j)*(sumC_i-sumC_k)\}\]为什么有个\(S*j\)呢,因为前面的批次启动会对后面的答案有影响。但是分析复杂度是\(O(n^3)\)的,肯定不行。考虑一下为...

2019-08-26 22:18:00 250

空空如也

空空如也

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

TA关注的人

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