随笔分类 -  算法竞赛进阶指南

摘要:245. 你能回答这些问题吗 原题链接 查询区间最大连续和,因此除了区间端点以外,维护四个性质: 区间最大连续子段和:tsum 区间和:sum 靠左:lsum 靠右:rsum u.sum = l.sum+r.sum; u.lsum = max(l.lsum,l.sum+r.lsum); u.rsum 阅读全文
posted @ 2021-07-05 11:05 Tsukinousag1 阅读(58) 评论(0) 推荐(0)
摘要:1.前缀和 原题链接 这里的数据不需要两个数组,开两个就ME了,从左往右,从上往下直接滚动s数组就行 #include<iostream> #include<cstring> using namespace std; const int N=5050; int s[N][N]; int main() 阅读全文
posted @ 2021-02-19 15:20 Tsukinousag1 阅读(41) 评论(0) 推荐(0)
摘要:分形之城 原题链接 关于哪个对称,坐标两个一一对应就可以,x对应x,y对应y。 对称轴写错了QAQ,上下两个都是关于x轴做对称变换,关于y轴变号 #include<iostream> #include<cmath> using namespace std; typedef long long LL; 阅读全文
posted @ 2021-02-19 15:18 Tsukinousag1 阅读(56) 评论(0) 推荐(0)
摘要:约数之和 原题链接 #include<iostream> using namespace std; const int mod=9901; int power(int a,int b) { int res=1%mod; while(b) { if(b&1) res=res*a%mod; a=a*a% 阅读全文
posted @ 2021-02-16 20:26 Tsukinousag1 阅读(35) 评论(0) 推荐(0)
摘要:3.1费解的开关 原题链接 #include<iostream> #include<cstring> using namespace std; const int INF=1e6+10; char g[10][10]; void turn(int x,int y) { int dx[5]={0,-1 阅读全文
posted @ 2021-02-16 20:25 Tsukinousag1 阅读(86) 评论(0) 推荐(0)
摘要:2.1递归实现指数型枚举 原题链接 从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 //递归写法一:vector存 #include<iostream> #include<vector> using namespace std; vector<int>chosen; int 阅读全文
posted @ 2021-01-24 10:45 Tsukinousag1 阅读(86) 评论(0) 推荐(0)
摘要:1.1 二进制中一的个数 原题链接 #include <iostream> #define lowbit(i)((i)&(-i)) using namespace std; int main() { int n; cin>>n; while(n--) { int res=0,m; cin>>m; w 阅读全文
posted @ 2021-01-23 14:03 Tsukinousag1 阅读(100) 评论(0) 推荐(0)