自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串::后缀数组

一个后缀数组的板子。感觉后缀数组的关键就是倍增思想以及二元组采用基数排序的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 490

原创 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 379

原创 字符串-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 186

原创 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 957

原创 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 219

原创 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 269 1

原创 668 体育节 区间DP [代码源][namomo spring camp]每日一题div1

稍微讲一下思路先按照大小排序,这明显跟顺序没关系。而后如果我们已经有了两个点了,现在要把第三个点加进去如果加到中间的花,发现当前最大最小值没有改变。加到哦湖面发现最大值改变了,如果加到中间我们考虑可以先加入左边第一个圆点,再加第一个三角,再加第二个圆点比现价左边第一个圆点,再加第二个圆点,再加中间的三角肯定来的更优。那么意味着我们是不是每次都要选择一个临近的点加入而不能采取插入的形式。最后再考虑 1 4 8 10 14这肯定线加入8和10 而后考虑到4和14的距离都是4,但是4左边有一个.

2022-04-13 13:47:12 965

原创 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 930

原创 ICPC2017徐州 待补题

占坑

2022-04-12 11:35:00 115

原创 狄利克雷+莫比乌斯+杜教筛公式理解运用 每日一题

链接一∑i=1n∑j=1mijgcd(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{gcd(i,j)}∑i=1n​∑j=1m​gcd(i,j)ij​

2022-04-11 20:06:14 318

原创 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 120

原创 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 317

原创 2021ICPC沈阳补题

补不完了人已经麻了

2022-04-06 00:08:09 368

原创 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 134

原创 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 280 2

原创 2021ICPC南京 待补题

先占位置吧

2022-04-04 21:39:23 293

原创 2019CCPC 秦皇岛待补

占位置

2022-04-04 21:38:43 115

原创 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 977

原创 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 3386

原创 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 1402

原创 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 4522

原创 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 1240

原创 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−1​dp[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 184

原创 4.3 ICPC澳门 打星rk24

不想丸啦,SPFA,DP,后缀自动机应该也不用我补吧,开摆

2022-04-04 20:23:05 313

原创 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 184

原创 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 1129

原创 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 187

原创 501 社交圈 离散化+贪心 [代码源][namomo spring camp]每日一题div1

社交圈首先思路是发现如果左边是等于右边,且他们不是同一个人的话。就可以将它们连接起来这样能最优。而后发现有点像图上边闭环是最优的。很明显图跑不动,考虑用l数组和r数组分别统计一下所有座位左边需要的空座位,和右边需要的空座位。优先匹配左右空缺需求相同的这里的l和r数组的下标是所需的空位数,记录的是存在多少个这样的数量。如图让两个右边需要两个位置的和两个左边需要两个位置的匹配起来剩下然后用两个指针从向右匹配优先考虑最近的贪心,因为如果不考虑最近的就会发现有交叉距离就会增大。记得离散化一下

2022-03-26 15:27:07 945

原创 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 1595

原创 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 1142

原创 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 312

原创 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 673

原创 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 797

原创 树分块 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 93

原创 【计算几何】P3217 [HNOI2011]数矩形

here要在n个点中选中4个点求一个矩形的最大面积。如果枚举点的话复杂度实在太高了,想法就是枚举边,一个矩形的对角线的边的中点是相等的,而且他们的长度也必定相等。边的数量最多是n*n还是可以接受的我们计算出来所有的边,然后首先根据距离排序然后根据中间点的位置排序,最后计算面积的时候要用叉积计算防止爆long long的情况发生。kuangbin的板子还是看着不太习惯,这几天适应一下吧!下边是我自己写的不是他的板子。ac code//god with me#include <bits/s

2021-09-14 19:15:14 120

原创 【高精度】【开n次方】【java】P2293 [HNOI2004]高精度开根

以后队里的高精度就交给我了。仔细想想我都主要负责了一些什么奇怪的东西?数论,计算几何,高精度,思维,规律???????????????????????????????package ac;import java.util.Scanner;import java.math.BigDecimal;import java.math.BigInteger;import java.text.DecimalFormat;public class acgo { static void solve()

2021-09-13 18:11:01 215

原创 2014ICPC上海区域赛模拟赛 9月11日

记录两三道题目吧,顺便再补上java代码,好好搞一下高精度的问题。here文章目录呀!I HDU 5050 Divided LandF - Sawtooth HDU - 5047J - Fraction HDU - 5051I HDU 5050 Divided Land求一个GCD,输入的是二进制,输出的是二进制,存在一点问题就是输入的数值可能非常的大,c++的lld是处理的不了的,需要用到高精度。这里是用java代码写的,重铸java荣光,我辈义不容辞 ☺ac codepackage a.

2021-09-13 15:46:25 139

原创 【计算几何】【三维凸包】【模板】三维凸包

here落谷上水过得第一道黑题还是个模板,发个博客庆祝庆祝ac code#include <bits/stdc++.h>#define pb push_back#define ld long doubleusing namespace std;const int eps = 1e-8;const int MAXN = 2005;int sgn(double x){ if(fabs(x) < eps)return 0; if(x < 0)return -1;

2021-09-13 12:06:58 249

原创 【计算几何】【凸包新板子】【模拟】[CERC2016]凸轮廓线 Convex Contour

here根据输入的字母,在一行中横向放入几何图形,最后求一个凸包周长。要提到的是,这里的几何是有圆形的,并且用之前的凸包模板会存在一个点重合的问题。这个不会有这样的问题,所以换了新的模板,注意使用就好啦!这两天要花时间研究一下kuangbin的计算几何模板,至少我要知道该怎么用才可以。ac code#include <bits/stdc++.h>#define pb push_back#define ld long doubleusing namespace std;cons

2021-09-13 10:41:48 178

原创 【计算几何】【最小圆覆盖】P1742 最小圆覆盖

here我最初的想法是凸包+旋转卡壳,当时是队友看了这道题,没有仔细看数据范围。今天看了数据要小数后十位的精度,好了,凸包+旋转卡壳肯定是过不了了。那么就要根据新的想法,有个推出结论的公式叫做三点定圆,这里就不细讲了。附上一篇写的比较好的博客hereac code//god with me#include <bits/stdc++.h>using namespace std;const int N=1e5+5;double dp[25][2005];double wall

2021-09-12 17:48:13 116

空空如也

空空如也

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

TA关注的人

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