acmer
while WA er
这个作者很懒,什么都没留下…
展开
-
字符串::后缀数组
一个后缀数组的板子。感觉后缀数组的关键就是倍增思想以及二元组采用基数排序的O(n)O(n)O(n)的神器#include <bits/stdc++.h>using namespace std;const int N=1e6+5;char str[N];int n,sa[N],rk[N];int tp[N],tax[N],*tmp;void tuple_sort(const int N){ for(int i=0;i<N;++i) tax[i]=0; for(int i原创 2022-05-09 21:03:37 · 461 阅读 · 0 评论 -
AC自动机+动态规划 P3041 [USACO12JAN]Video Game G
题目链接#include<bits/stdc++.h>using namespace std;const int N=1e3+5;namespace AC{ int tr[N][5],tot; int exist[N],fail[N]; void insert(char *s) { int p=0; for(int i=1;s[i];i++) { if(!tr[p][s[i]-'A']) tr[p][s[i]-'A']=++tot; p=tr[p][s[原创 2022-05-06 21:55:06 · 361 阅读 · 0 评论 -
字符串-trie
struct trie{ int nex[500005][26],cnt=1; int exist[500005]; trie() { cnt=1; memset(nex,0,sizeof(nex)); memset(exist,0,sizeof(exist)); } int idx(char c) {return c-'a';} void insert(char *s) { int p=0,l=strlen(s+1); for(int i=1;i<=l;i++)原创 2022-05-02 16:53:38 · 168 阅读 · 0 评论 -
703 删数 差分+倍增+动态规划 [代码源][namomo spring camp]每日一题div1
这肯定到银的程度了//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define f(i,a,n) for(.原创 2022-04-14 11:37:30 · 941 阅读 · 0 评论 -
699 并行排序 单调队列 [代码源][namomo spring camp]每日一题div1
连接借鉴了代码,就喜欢短的。怎么写一个nlogn的快速上升或者下降 严格或者不严格的子序列//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,.原创 2022-04-13 18:54:59 · 207 阅读 · 0 评论 -
670 测温 单调队列 [代码源][namomo spring camp]每日一题div1
一道DP题目可以dp[i][j]dp[i][j]dp[i][j]表示到第iii天的温度为jjj的连续的天数。明显jjj是一个单调的,可以单调队列搞一搞//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(.原创 2022-04-13 14:27:21 · 245 阅读 · 1 评论 -
668 体育节 区间DP [代码源][namomo spring camp]每日一题div1
稍微讲一下思路先按照大小排序,这明显跟顺序没关系。而后如果我们已经有了两个点了,现在要把第三个点加进去如果加到中间的花,发现当前最大最小值没有改变。加到哦湖面发现最大值改变了,如果加到中间我们考虑可以先加入左边第一个圆点,再加第一个三角,再加第二个圆点比现价左边第一个圆点,再加第二个圆点,再加中间的三角肯定来的更优。那么意味着我们是不是每次都要选择一个临近的点加入而不能采取插入的形式。最后再考虑 1 4 8 10 14这肯定线加入8和10 而后考虑到4和14的距离都是4,但是4左边有一个.原创 2022-04-13 13:47:12 · 948 阅读 · 0 评论 -
678 namonamo 折半搜索 [代码源][namomo spring camp]每日一题div1
//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define f(i,a,n) for(int i=a;i&.原创 2022-04-13 11:55:15 · 912 阅读 · 0 评论 -
ICPC2017徐州 待补题
占坑原创 2022-04-12 11:35:00 · 103 阅读 · 0 评论 -
狄利克雷+莫比乌斯+杜教筛公式理解运用 每日一题
链接一∑i=1n∑j=1mijgcd(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{gcd(i,j)}∑i=1n∑j=1mgcd(i,j)ij原创 2022-04-11 20:06:14 · 302 阅读 · 0 评论 -
605 Ayoub‘s function 贪心+容斥 [代码源][namomo spring camp]每日一题div1
所有字符串 减去所有的 全0的字符串//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define sr4(.原创 2022-04-07 19:58:53 · 108 阅读 · 0 评论 -
ACM知识点-(梅开二度重新出发
知识点补充数论反素数欧拉函数筛法素数筛法 O(n)筛选欧拉函数筛莫比乌斯函数Pollard Rho分解质因数裴蜀定理||贝祖定理类欧几里德算法欧拉定理 & 费马小定理乘法逆元主要都根据OIWIKI路线学习的数论反素数#include <cstdio>#include <iostream>int p[16] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53};unsigned long l原创 2022-04-06 21:35:48 · 301 阅读 · 0 评论 -
2021ICPC沈阳补题
补不完了人已经麻了原创 2022-04-06 00:08:09 · 343 阅读 · 0 评论 -
504 数组划分 二分+动态规划+位运算 [代码源][namomo spring camp]每日一题div1
//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define f(i,a,n) for(int i=a;i&.原创 2022-04-05 19:54:04 · 122 阅读 · 0 评论 -
503 选数2 二分+贪心+差分 [代码源][namomo spring camp]每日一题div1
忘记二分最小值 一直寄参考了题目链接晚点补文字//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #defi.原创 2022-04-05 12:58:54 · 259 阅读 · 2 评论 -
2021ICPC南京 待补题
先占位置吧原创 2022-04-04 21:39:23 · 279 阅读 · 0 评论 -
2019CCPC 秦皇岛待补
占位置原创 2022-04-04 21:38:43 · 93 阅读 · 0 评论 -
504 数位计算 数学 [代码源][namomo spring camp]每日一题div2
分段考虑等差数列就可以了,注意一下取模//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%d",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define f(i,a.原创 2022-04-04 20:57:21 · 963 阅读 · 0 评论 -
505 新国王游戏 思维 [代码源][namomo spring camp]每日一题div2
你仔细观察这两个序列,在任意一个位置i以及i+1他们的位置相互交换的话会影响前面的值以及后面的值你仔细观察这两个序列,在任意一个位置i以及i+1他们的位置相互交换的话会影响前面的值以及后面的值你仔细观察这两个序列,在任意一个位置i以及i+1他们的位置相互交换的话会影响前面的值以及后面的值那么就只需考虑bi∗ai+1+bi+1>bi+1∗ai+bi{b_i}*{a_{i + 1}} + {b_{i + 1}} > {b_{i + 1}}*{a_i} + {b_i}bi∗ai+1+bi+1.原创 2022-04-04 20:55:25 · 3356 阅读 · 0 评论 -
506 完美数 思维+数位 [代码源][namomo spring camp]每日一题div2
直接考虑有点难搞,仔细看他说是每个数位的和也是一个好数。这个值从m∗min(a,b)m*min(a,b)m∗min(a,b)到 m∗max(a,b)m*max(a,b)m∗max(a,b)也就是说我从这之间搞出来check一下就好了。那么他们的和也就是从m个数中选i个数为b,m−i个数为am个数中选i个数为b,m-i个数为am个数中选i个数为b,m−i个数为a//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,.原创 2022-04-04 20:51:40 · 1390 阅读 · 0 评论 -
507 Lusir的游戏 二分 数论 [代码源][namomo spring camp]每日一题div2
可以二分硬搞一下,注意check里面res容易炸,加特判除此以外还可以纯数学搞,思路写这里假设我们到达了第i个点那么Ei=2∗Ei−1−H(i)=2iE0−∑j=1i2i−jH(j)Ei>=0E0>=∑j=1NH(j)2j\begin{array}{l}{E_i} = 2*{E_{i - 1}} - H(i)\\ = {2^i}{E_0} - \sum\nolimits_{j = 1}^i {{2^{i - j}}} H(j)\\{E_i} > = 0\\.原创 2022-04-04 20:47:43 · 4492 阅读 · 0 评论 -
601 BFS练习1 BFS [代码源][namomo spring camp]每日一题div2
链接//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%d",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define f(i,a,n) for(int i=a;i.原创 2022-04-04 20:35:38 · 1212 阅读 · 0 评论 -
700 01序列2 动态规划 [代码源][namomo spring camp]每日一题div2
题目链接考虑转移dp[i]=(∑1≤j≤i−k−1dp[j])+1dp[i] = (\sum\nolimits_{1 \le j \le i - k - 1}^{} {dp[j]} ) + 1dp[i]=(∑1≤j≤i−k−1dp[j])+1前缀和优化一下就好了//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x);.原创 2022-04-04 20:33:45 · 170 阅读 · 0 评论 -
4.3 ICPC澳门 打星rk24
不想丸啦,SPFA,DP,后缀自动机应该也不用我补吧,开摆原创 2022-04-04 20:23:05 · 297 阅读 · 0 评论 -
502 区间和 前缀和+并查集 [代码源][namomo spring camp]每日一题div2
区间和前缀和很容易想到给定范围[L,R],前缀和计算该范围的算法是 a[R]-a[L-1]现在我们需要计算的是a[n]-a[0]如果我们知道a[4]-a[2]以及a[6]-a[4]那么我们就可以得到a[6]-a[2]。我们从2和4的关系以及4和6的关系就可以得到6和2的关系,那么总的来说就是如果我们要询问的区间的两个节点之间存在关系,那么该区间的和就是可以计算出来的怎么把节点联系起来,可以通过并查集实现//acmer mxc#include<bits/stdc++.h>#de原创 2022-03-28 21:42:12 · 155 阅读 · 0 评论 -
2021 ICPC 南京 3.27训练赛
2021 ICPC 南京 D - Paimon SortingD - Paimon Sorting思维+树状数组当时少考虑了相同最大值对后面的影响,策略不太对,以后我有思路的就自己写好了。//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&a原创 2022-03-28 14:41:44 · 1074 阅读 · 0 评论 -
501 RSA 质数+因子 [代码源][namomo spring camp]每日一题div2
链接这么简单的题 水博客是吧啊?主要是今天和前天的div1都写过了,昨天的分治+启发式合并有点难搞。//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a原创 2022-03-26 15:35:36 · 179 阅读 · 0 评论 -
501 社交圈 离散化+贪心 [代码源][namomo spring camp]每日一题div1
社交圈首先思路是发现如果左边是等于右边,且他们不是同一个人的话。就可以将它们连接起来这样能最优。而后发现有点像图上边闭环是最优的。很明显图跑不动,考虑用l数组和r数组分别统计一下所有座位左边需要的空座位,和右边需要的空座位。优先匹配左右空缺需求相同的这里的l和r数组的下标是所需的空位数,记录的是存在多少个这样的数量。如图让两个右边需要两个位置的和两个左边需要两个位置的匹配起来剩下然后用两个指针从向右匹配优先考虑最近的贪心,因为如果不考虑最近的就会发现有交叉距离就会增大。记得离散化一下原创 2022-03-26 15:27:07 · 919 阅读 · 0 评论 -
403 平方计数 思维+数论 [代码源][namomo spring camp]每日一题div1
题目链接//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define sr4(a,b,c,d) scanf原创 2022-03-25 15:16:33 · 1578 阅读 · 0 评论 -
406 “Z”型矩阵 思维+树状数组 [代码源][namomo spring camp]每日一题div1
Educational Codeforces Round 8E. Zbazi in Zeydabadcodeforces题目链接一道CF的E题晚点补文字,先给代码//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #def原创 2022-03-25 14:32:54 · 1124 阅读 · 0 评论 -
404最小字典序 思维+单调队列 [代码源][namomo spring camp]每日一题div1
超链接先给代码,后补文字,参考了文章思路第一次调了好久不知道WA哪里了(寄)又重写了一遍//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,原创 2022-03-24 21:10:49 · 286 阅读 · 0 评论 -
405拆拆 数论+组合数学 [代码源][namomo spring camp]每日一题div1
拆拆文字题解晚点补,先给代码//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define sr3d(a,b原创 2022-03-24 13:04:44 · 659 阅读 · 0 评论 -
CCPC 2021 harbin补题 B D E G I J
题目链接D-Math-master//acmer mxc#include<bits/stdc++.h>#define mst(s,x) memset(s,x,sizeof(s));#define sr(x) scanf("%d",&x); #define sr2(a,b) scanf("%d%d",&a,&b); #define sr3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define sr3d(a,.原创 2022-03-19 13:28:04 · 760 阅读 · 0 评论 -
树分块 3.3
n有区别么? 实在不能理解//acmer mxc#include <bits/stdc++.h>#define int long long#define dd double#define sc(x) cout<<#x<<" : "<<x<<endl;using namespace std;const int N=2e5+5;int d[N],v[N];int head[N],nnext[N],edge[N],ver[N];in原创 2022-03-03 20:55:20 · 80 阅读 · 0 评论 -
P1439【离散+二分搜索】【最长上升子序列】【【模板】最长公共子序列nlogn】
最长公共子序列怎么说呢。 本来想找二分答案的题目练一练,题目标的二分答案但是做不了。输入53 2 1 4 51 2 3 4 5下标: 1 2 3 4 5对值: 3 2 1 4 5下次读入 1 2 3 4 5取对应的下标装入即可3211 41 4 5//这里2一定比3优化 因为都对应一个子序列但是2开头的一定会比3开头的更长 因为下标小嘛这里用了二分查找。不要忘了初始化B数组为最大值不然装不进去上代码:#include <bits/stdc++.h>#de原创 2021-07-29 12:55:38 · 79 阅读 · 0 评论 -
P1281 【二分答案】【书的复制】
一个很不错的二分答案题目题目入口!需要特判一下 a[i]>mid fales;还有后面的逆序输出需要注意。//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include <bits/stdc++.h>#define inf 0x7fffffff//#define ll long long#define int long long//#define double long double原创 2021-07-27 17:30:27 · 132 阅读 · 0 评论 -
2021牛客暑期多校训练营4
补完写注释:AverageJ题#include <bits/stdc++.h>//#include <unordered_map>#define inf 0x7fffffff//#define ll long long#define int long long//#define double long double#define re int#define void inline void#define eps 1e-8//#define mod 1e9+7原创 2021-07-27 11:01:59 · 67 阅读 · 0 评论 -
快速沃尔什变换及快速莫比乌斯变换学习笔记
https://blog.bill.moe/fast-walsh-transform-notes/模板题目:https://www.luogu.com.cn/problem/P4717原创 2021-07-26 11:57:12 · 107 阅读 · 0 评论 -
P1495【模板】【中国剩余定理】【曹冲养猪】
超级入口!很不错的板子题。太简单了无讲解= =附两道板子题待刷poj2891,n个mi不互质的裸题poj1006,三个互质的裸题#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long#define int long long//#define double long double//#define double long long#define re int//#define void inl原创 2021-07-26 10:55:43 · 75 阅读 · 0 评论 -
P1349 【矩阵加速】【广义斐波那契数列】
下次我不检查long long我就。。。。。。。。。。一个简单的矩阵加速递推过程的板子。#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long#define int long long//#define double long double//#define double long long#define re int//#define void inline void#define eps 1e-原创 2021-07-26 10:27:51 · 98 阅读 · 0 评论