- 博客(153)
- 资源 (1)
- 收藏
- 关注

原创 闲七杂八的东西【不会持续更新的】
1.一个数后三位如果能整除8,则这个数可以整数82.3.当 a > 2*b时,满足a % (a - b)== b。4. n边型可以分成(n−2)个三角形5.对于正n边形而言,每个角的度数为6.对于无法构成一种字符的DP,状态是构成其前缀字符串,转移便是 对于无法构成前i个前缀的最小花费,首先可以考虑让他无法构成前i-1个字符的最小花费 然后便是考虑将这个...
2018-12-09 00:31:21
326
原创 带小数的二进制与十六进制互相转换(超暴力版)
啊,就写着玩了,很暴力如果转换后的字符串是回文串,顺便输出个Beautiful#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long ll;typedef long double ld;//typedef __int128 bll;const int maxn ...
2019-11-24 22:06:13
3847
原创 【思维】D. Sequence Sorting
D. Sequence Sortingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a sequencea1,a2,…,ana1,a2,…,an, consisting of ...
2019-10-31 20:23:29
674
原创 【换根DP】E. Tree Painting
E. Tree Paintingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a tree (an undirected connected acyclic graph) con...
2019-10-30 19:47:39
280
原创 【回文自动机】 2018 南京网络赛 Skr
题目链接:https://nanti.jisuanke.com/t/A1955题意:给定一个数字串,求每个不同回文数字串的和思路:由回文树可知,每个节点回文是由上一个节点转移而来,深搜奇回文树与偶回文树,过程中O1计算出每个节点的值,加起来即可也可以通过每个回文的区间+Hash O1 获得该串数字 算出答案代码为方深搜代码#include <bits/stdc++.h&...
2019-09-12 20:24:36
228
原创 洛谷P5496 【模板】回文自动机(PAM)
题目链接:https://www.luogu.org/problem/P5496题意:给定字符串,求每个位置为结尾的回文串个数思路:裸题,不过注意,是last指针在fail树上跳,并不是直接输出num数组#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long ll;...
2019-09-11 20:55:12
214
原创 【回文自动机】The Preliminary Contest for ICPC Asia Xuzhou 2019 G Colorful String
题目链接:https://nanti.jisuanke.com/t/41389题意:给定3e5的字符串,求每个不同的回文串中不同的字母总和思路:预处出Pre保存前缀和以此来计算区间内不同字母的个数,构造回文树,那么每个回文串对答案的贡献就是串的长度乘上串出现的次数了#include <bits/stdc++.h>#define endl '\n'using names...
2019-09-11 20:45:17
182
原创 【PAM】回文自动机 && 回文树
学习博客:https://www.cnblogs.com/nbwzyzngyl/p/8260921.html博客中讲的很清楚了,在此我就不过多赘述了len[i], 以i结尾的最长回文子串的长度cnt[i]:以i结尾的最长回文子串相同的子串的个数 在count后得到全部num[i] 表示以i结尾的回文串的种类数str[] 存放添加的字符fail[] 失配后跳转到的不等于自身的最...
2019-09-11 20:39:13
346
原创 【模板】 扫描线
模板题:https://www.luogu.org/problem/P5490与http://poj.org/problem?id=1151扫描线从左向右扫,rwa[]数组表示整数值 i 对应的原始 y 坐标值。 c[i] 记录扫描线上第 i 段覆盖的次数,ans 每次累加上 len*(x2-x1)即可 ,朴素做法O(n^2) ,用线段树维护 c 数组后复杂度 O(n*longn)...
2019-08-20 17:29:47
213
原创 【并查集+组合数】2019牛客暑期多校训练营(第九场) E All men are brothers
题目链接:https://ac.nowcoder.com/acm/contest/889/E题意:给你n个人,m轮,每轮会让其中的两个人认识(人之间具有传递性),问每次挑出4个互相不认识的有多少种思路:首先很容易确定是第一轮是,(注意精度),其次我们考虑每一轮的减少量.这时候我们考虑每次合并会带来什么影响:假设有集合X,Y,Z,我们合并X,Y集合那么有如下影响合并前1....
2019-08-16 19:09:50
169
原创 【离散化+线段树维护区间最大子段和】2019 Multi-University Training Contest 6 Snowy Smile
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6638题意:2000个点,让你用矩形框起来,使得矩阵和最大思路:首先离散化使数据将到O(2000),按y升序排列(按x也可以)后枚举上下界,在上界浮动的时候顺便将在上界上的点扔进线段树维护。复杂度O(n^2long(n))#include <bits/stdc++.h>#defi...
2019-08-16 15:13:13
207
原创 线段树维护区间最大子段和
一段区间的最大子段和出现在以下三种情况:左区间/右区间/跨越中间void push(node &now,node <,node &rt){ now.sum = lt.sum + rt.sum; now.lgss = max(lt.lgss,lt.sum+rt.lgss); now.rgss = max(rt.rgss,rt.sum+lt.rgss);...
2019-08-14 09:59:32
572
原创 【模板】KMP && EXKMP
KMP博客:https://www.cnblogs.com/SYCstudio/p/7194315.html注:pre数组中保存的是该最长前后缀的前缀结束下标(字符串从0开始),如果要求最长相同前缀后缀的长度,要输出pre[i]+1。获取next函数void get_pre(){ pre[0] = -1; for(ll i = 1; i < len2; i++) {...
2019-08-13 10:45:05
241
原创 【十进制矩阵快速幂】 2019牛客暑期多校训练营(第五场) B
原文:https://blog.youkuaiyun.com/henucm/article/details/98492753题意:给你x0、x1a、b、mod,根据求出根据上述公式,再套用十进制矩阵快速幂即可(二进制好像会超时...)用十进制设为res 则可得我们再设就是分解n为每一位,再去相乘。例如讲计算出来的即可#include <bits/st...
2019-08-09 11:12:43
186
原创 【线段树+单调栈】2019牛客暑期多校训练营(第四场)C sequence
链接:https://ac.nowcoder.com/acm/contest/884/C来源:牛客网时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述Your are given two sequences a1…na_{1 \dots n}a1…n and b1…nb_{...
2019-08-07 17:09:22
198
原创 【关于%3前缀和性质证明】
命题:有数字串str,str[i]的前缀和为sum[i],若(sum[a] mod 3) == (sum[b] mod 3),则子串(a, b]为3的倍数证明:当sum[i] mod 3 == 0时,sum[i]为3的倍数;若有sum[j] mod 3 == 0(j >= i),则sum[j]也为3的倍数,那么sum[j] - sum[i]也为3的倍数,那么子串(i, j]是3的倍数...
2019-08-07 09:19:54
312
原创 CCPC-Wannafly Summer Camp 2019 Day1 (无 I 题)
比赛链接:https://vjudge.net/contest/312902#overview目录A - Jzzhu and CitiesB - Phillip and TrainsC - A Mist of FlorescenceD - Unbearable Controversy of BeingE - Igor In the MuseumF - The Chi...
2019-08-02 16:38:57
302
原创 【模板】 树形DP求树直径(可处理负边权直径)
DP【x】表示从x出发走向以x为根的子树,能够到达的最远节点的距离void get_dp(ll now){ flag[now] = true; //标记是否处理过 for(ll i = head[now]; i != 0; i = E[i].next) { ll to = E[i].to; if(!flag[to]) { get_dp(to); ...
2019-06-03 20:20:40
848
原创 【模板】除法的大质数取模问题
long long inv(ll x){ long long b = mod - 2,ans = 1; while(b) { if(b&1) ans = ans*x%mod; x = x*x%mod; b >>= 1; } return ans; }
2019-06-02 16:45:38
933
原创 【树直径】P3629 [APIO2010]巡逻
题目描述在一个地区中有 n 个村庄,编号为 1, 2, ..., n。有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄。每条道路的长度均为 1 个单位。 为保证该地区的安全,巡警车每天要到所有的道路上巡逻。警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局。 下图表示一个有 8 个村庄的地区,其...
2019-05-26 14:58:41
216
原创 【Floyd求最小环】344. 观光之旅
给定一张无向图,求图中一个至少包含3个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。你需要输出最小环的方案,若最小环不唯一,输出任意一个均可。输入格式第一行包含两个整数N和M,表示无向图有N个点,M条边。接下来M行,每行包含三个整数u,v,l,表示点u和点v之间有一条边,边长为l。输出格式输出占一行,包含最小环的所有节点(按顺序输出...
2019-05-14 17:44:17
278
原创 【DP】西北大学集训队选拔赛(重现赛) B 饱和式救援
链接:https://ac.nowcoder.com/acm/contest/892/B来源:牛客网题目描述“在全球性救援开始的0.42秒后,MOSS就已经推算出结果,这是一场注定徒劳的救援。”在《流浪地球》电影中,虽说在引爆木星之后推动了地球离开木星,但是大爆炸摧毁了地球上大部分的行星发动机。人类再一次展开全球性救援。此时的MOSS已经被烧毁,现在告诉你每只救援队的目标发动...
2019-05-11 23:51:17
283
原创 【模板】 计算组合数以及阶乘的逆元
1e5 到 1e6ll fac[maxn]={1,1},inv[maxn]={1,1},f[maxn]={1,1};ll C(ll a,ll b){ if(b>a)return 0; return fac[a]*inv[b]%mod*inv[a-b]%mod;}void init(){//快速计算阶乘的逆元 for(int i=2;i<maxn;i...
2019-05-11 22:48:10
303
原创 341. 最优贸易
C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商...
2019-05-10 12:13:01
257
原创 【二分+最短路】340. 通信线路
在郊区有 N 座通信基站,P 条双向电缆,第 i 条电缆连接基站AiAi和BiBi。特别地,1 号基站是通信公司的总站,N 号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i 条电缆需要花费LiLi。电话公司正在举行优惠活动。农产主可以指定一条从 1 号基站到 N 号基站的路径,并指定路径上不超过 K 条电缆,由电话公司免费提供升级服务。农场主只需要支付在...
2019-05-09 18:16:39
640
原创 【模板】LCA 最近公共祖先
LCA有多个方法可以求解,此文章记录树上倍增法解决LCA问题类似于RMQ,通过bfs用二维dp数组通过二进制记录 i 的 2^j 祖先是谁 预处理复杂度n*log模板已POJ 2586 为例http://acm.hdu.edu.cn/showproblem.php?pid=2586d数组记录深度,pre记录根到当前点的权值和#include <bits/stdc++.h...
2019-04-16 20:40:24
386
原创 【K小堆问题】POJ 2442 Sequence
SequenceTime Limit:6000MS Memory Limit:65536K Total Submissions:12525 Accepted:4103 DescriptionGiven m sequences, each contains n non-negative integer. Now we may select on...
2019-04-15 20:29:46
206
原创 【模板】树状数组
参考链接:https://blog.youkuaiyun.com/bestsort/article/details/80796531#%E5%8D%95%E7%82%B9%E6%9B%B4%E6%96%B0%3All lowbit(ll x){ return ( x & (-x) );}void add(ll now,ll num){ for(; now <= n; now...
2019-04-15 17:43:20
172
原创 Codeforces Round #551 (Div. 2) 小结
A.无法用言语形容...一直被大佬搞,刚才从新读了遍题,是自己沙雕了#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef long double ld;typedef unsigned long long ull;//typedef __int128 bll;const ll ...
2019-04-14 17:13:41
330
原创 【二分】P1631 序列合并
题目描述有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2N2个和,求这N^2N2个和中最小的N个。输入输出格式输入格式:第一行一个正整数N;第二行N个整数A_iAi, 满足A_i\le A_{i+1}Ai≤Ai+1且A_i\le 10^9Ai≤109;第三行N个整数B_iBi, 满足B_i\le B_{i+1}Bi≤Bi+1且B_i\...
2019-04-10 18:01:10
305
原创 【字典树+XOR】 LibreOJ 10050 The XOR Largest Pair
字典树存储+贪心每次从高位选相反的//#include <iostream>//#include <cstring>//#include <iomanip>//#include <algorithm>//#include <queue>//#include <stack>//#include <ve...
2019-04-09 22:16:07
265
原创 【模板】网络流-最大流(EK算法)
每次从残留网络中找出一条从源结点到汇结点的最短路径,流选为路径中的残存容量,依据流更新残存网络(将每条边的残存容量改为当前容量减去流的大小,并添加对应的反向边,边的容量为流的大小)重复选最短路径,更新残存网络,直到没有最短路径为止此时的流累加和即为最大流此算法的精华也就在于用建立反向边而代替了回溯的过程,大大减少了时间复杂度,为何建立反向边正确呢?如果增广路中有反向边,其实就...
2019-04-09 11:07:36
525
1
原创 【模板】RMQ(区间查询极值)
/*#include <iostream>#include <cstring>#include <iomanip>#include <algorithm>#include <queue>#include <stack>#include <vector>#include <set>#in...
2019-04-07 12:07:11
214
原创 51nod 最长的循环节
1035 最长的循环节1 秒 131,072 KB 20 分 3 级题正整数k的倒数1/k,写为10进制的小数如果为无限循环小数,则存在一个循环节,求<=n的数中,倒数循环节长度最长的那个数,假如存在多个最优的答案,输出所有答案中最大的那个数。1/6= 0.1(6) 循环节长度为11/7= 0.(142857) 循环节长度为61/9= 0.(1...
2019-03-26 12:50:41
227
原创 【前缀和+二分】1065 最小正子段和
1065 最小正子段和1 秒 131,072 KB 20 分 3 级题N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。收起...
2019-03-25 11:46:24
351
原创 【模板】快读、快写
用快读快写 不要开ios 不要开ios 不要开ios这就和用scanf不能开ios是一样的也可以用于__int128的写入与输出快读inline bll read(){ bll s=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') //处理负数 f=-1; ch=get...
2019-03-19 12:48:39
350
原创 【对顶堆】 POJ3784 Running Median
DescriptionFor this problem, you will write a program that reads in a sequence of 32-bit signed integers. After each odd-indexed value is read, output the median (middle value) of the elements recei...
2019-03-18 20:40:59
246
原创 【欧拉降幂】 super A^B%C 问题
#include <iostream>#include <cstring>#include <iomanip>#include <algorithm>#include <queue>#include <stack>#include <vector>#include <set>
2019-03-15 21:37:10
295
原创 【模板】字典树
建树:二维数组模拟void add(char str[10]){ ll len = strlen(str),to = 1; //to表示下一个节点 for(ll i = 0; i < len; i++) { ll t = str[i]-'a'; if(tire[to][t] == 0) { cnt++; //最大节点数 tire[to...
2019-03-15 12:37:20
200
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人