-
个人简介
数论分块
long long H(int n) { long long res = 0; int l = 1, r; while (l <= n) { r = n / (n / l); res += 1LL * (r - l + 1) * (n / l); l = r + 1; } return res; }
int pos = 0, mx = 0, ans = 0; for(int i=1;i<=cnt;i++){ if(i < mx) p[i] = min(p[pos*2-i],mx-i);//处理 else p[i] = 1;//否则以i为对称轴的这个串就属于长串的范围外,无法直接得到p[i]值. while(ss[i+p[i]] == ss[i-p[i]]) p[i]++;//还要再扩展一次 if(mx < i+p[i]) mx = i+p[i], pos = i;//更新作为长串的回文串 ans = max(ans,p[i]-1); } }
florr.io
digdig.io
yorg.io
generals.io
#include<bits/stdc++.h> using namespace std; string res1[10000],res2[10000]; map<string,string> key; int res1len=0,res2len=0; bool cmp(string x,string y){ srand(res2[rand()%res2len+1][res2[rand()%res2len+1].length()-1]); return rand()%2==1?true:false; } int main() { int cnt=1; while(1){ string a[1000]; int len=0; while(1){ cin>>a[++len]; if(getchar()=='\n') break; } if(a[len]=="END") break; res2len++; for(int i=1;i<=len;i++){ if(key[a[i]]!=""){ res2[res2len]+=key[a[i]]; res2[res2len]+=" "; continue; } string tmp=""; for(int j=1;j<=cnt;j++) tmp+="_"; res2[res2len]+=tmp; res2[res2len]+=" "; res1[++res1len]+="#define "+tmp+" "+a[i]; key[a[i]]=tmp; cnt++; } } sort(res1+1,res1+1+res1len,cmp); for(int i=1;i<=res1len;i++) cout<<res1[i]<<endl; for(int i=1;i<=res2len;i++) cout<<res2[i]<<endl; return 0; }
动态规划1 [https://www.bilibili.com/video/BV1BD4y127ZZ/?spm\_id\_from=333.337.search-card.all.click&vd\_source=71163c9b2e7202f48beb52a92e96adcd](https://www.bilibili.com/video/BV1BD4y127ZZ/?spm_id_from=333.337.search-card.all.click&vd_source=71163c9b2e7202f48beb52a92e96adcd) 动态规划2 [https://www.bilibili.com/video/BV1KA411n7Gy/?spm\_id\_from=333.337.search-card.all.click&vd\_source=71163c9b2e7202f48beb52a92e96adcd](https://www.bilibili.com/video/BV1KA411n7Gy/?spm_id_from=333.337.search-card.all.click&vd_source=71163c9b2e7202f48beb52a92e96adcd) 动态规划3 [https://www.bilibili.com/video/BV1E54y1e74X/?spm\_id\_from=333.337.search-card.all.click&vd\_source=71163c9b2e7202f48beb52a92e96adcd](https://www.bilibili.com/video/BV1E54y1e74X/?spm_id_from=333.337.search-card.all.click&vd_source=71163c9b2e7202f48beb52a92e96adcd) 动态规划4 [https://www.bilibili.com/video/BV1Rk4y117Tc?p=1&vd\_source=71163c9b2e7202f48beb52a92e96adcd](https://www.bilibili.com/video/BV1Rk4y117Tc?p=1&vd_source=71163c9b2e7202f48beb52a92e96adcd) 董晓算法 [https://space.bilibili.com/517494241](https://space.bilibili.com/517494241) 信息学一本通 [https://space.bilibili.com/3493086634183570](https://space.bilibili.com/3493086634183570) SamShawCraft [https://space.bilibili.com/71488025](https://space.bilibili.com/71488025) a兵长(浙师大集训) [https://space.bilibili.com/8198319/video?tid=36&special\_type=&pn=1&keyword=&order=pubdate](https://space.bilibili.com/8198319/video?tid=36&special_type=&pn=1&keyword=&order=pubdate) 今天你学废了么 [https://space.bilibili.com/3461575069403560/video?tid=0&special\_type=&pn=1&keyword=&order=pubdate](https://space.bilibili.com/3461575069403560/video?tid=0&special_type=&pn=1&keyword=&order=pubdate)
斜率优化
#include<bits/stdc++.h> using namespace std; int sqr(int x){return x*x;} int q1(int i){return ;} int q2(int i){return ;} int slope(int x,int y){return (double)()} int n,m,l,r,h[500005],hh[500005]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>h[i]; h[i]+=h[i-1]; } hh[++r]=0; for(int i=1;i<=n;i++) { while(l<r&&slope(hh[l],hh[l+1])<=2*h[i]) ++l; dp[i]=; while(l<r&&slope(hh[r-1],hh[r])>=slope(hh[r-1],i)) --r; hh[++r]=i; } }
-
通过的题目
-
最近活动
题目标签
- 动态规划
- 8
- 字符串
- 8
- KMP
- 5
- 单调队列/单调栈优化
- 5
- 难度分类
- 4
- 模板
- 4
- 字符串哈希
- 3
- 数学
- 3
- 线性基
- 3
- 斜率优化
- 2
- 决策单调性
- 2
- 数据结构
- 2
- 图论
- 2
- 双端队列
- 1
- 决策单调性优化DP
- 1
- 组合数学
- 1
- 算法基础
- 1
- 二分
- 1
- Trie
- 1
- AC自动机
- 1