自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(225)
  • 资源 (2)
  • 收藏
  • 关注

转载 基础学习方法

理解阶段如果你写板子的次数足够多,就有可能记住它。这个阶段非常关键,除非先理解它的字面意思,否则你就没有机会深入下去。小贴士当你遇到比较难的课程时,首先尝试将其分解为更小的问题、缩小范围,搞清楚你真正不能理解的地方,你才可以深入阅读,跨过障碍。横向拓展与此类似的结论还有哪些? 是哪些地方类似? 不同的地方在哪里? 围绕这一结论有哪些其他的事实?你需要建立模型,在模型与原知识...

2019-08-20 08:49:29 180

转载 做题经验谈

为什么讲如何做题?浪费时间刷几千道水题毫无意义。 做真正有用的题目。 在一道坑爹题上浪费大量的时间是十分没有性价比的。 真正有效的训练在一年内就能成为很强的选手,而一味的磨蹭和颓废4,5年也就那样。 成功的路并不拥挤,因为大部分人都在颓☺做题的目的做题的目的是学到新的东西以及锻炼代码能力,而不是盲目刷OJ的rank,那没有任何意义。 提高算法能力(想出做法的能力,分析问题的方法...

2019-07-18 11:26:57 271

原创 P1279 字串距离

此题不难看出为O(n^2)的二维DP,首先考虑状态方程。容易想到,对于f[i][j],只有两种选择:1.字符相减 2.使用空格之所以任意一个字符都可以用空格和它比较,是因为空格可以无限/任意位置添加,所以无论怎样,都存在一个全用空格与字母比较的解。可以发现,“ab"与” "和"ab"与"a “和"ab"与” a"唯一的不同就是a所比较的位置。将两个字符串分别视为两个数组,由加法法则的交换律可知,贪心选择最优选项成立最优子结构。#include<cstdio>#include&lt.

2021-09-26 16:13:23 187

原创 T103492 【模板】点双连通分量

题目地址#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e5,MAXM=1e6;struct Edge{ int from,to,nxt;}e[MAXM];int head[MAXN],edgeCnt=1;void addEdge(int u,int v){...

2019-10-13 17:32:18 338

原创 T103489 【模板】边双连通分量

题目地址易错点:设桥时需要考虑双向边. dfs时需要设置当前点的dcc.#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e5,MAXM=1e6;struct Edge{ int from,to,nxt;}e[MAXM];int head[MAXN...

2019-10-13 17:02:42 265

原创 T103440 【模板】缩点

题目地址易错点:出栈时应将inStck[y]置空.#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e5,MAXM=1e6;struct Edge{ int from,to,nxt;}e[MAXM];int head[MAXN],edgeCnt=1;vo...

2019-10-13 14:48:23 2422

原创 P3388 【模板】割点(割顶)

题目地址注意点:dfn[x]<=low[nowV].#include<cstdio>#include<iostream>using namespace std;const int MAXN=4e4,MAXM=2e5;struct Edge{ int from,to,nxt;}e[MAXM];int head[MAXN],edgeCnt=1...

2019-10-13 09:24:19 144

原创 P1965 转圈游戏

题目地址易错点:括号后面也需要mod运算.#include<cstdio>#include<iostream>using namespace std;int mod;int poww(int x,int k){ int ans=1,tmp=x; while(k){ if(k&1){ ans=ans*tmp%mod; } ...

2019-10-13 08:34:04 155

原创 P1540 机器翻译

题目地址#include<cstdio>#include<iostream>#include<queue>using namespace std;const int MAXN=1e4;bool inMemory[MAXN];//当前是否在内存中 int memoryCnt=0;//内存中已储存的单词总数 queue<int&gt...

2019-10-11 19:04:45 128

原创 P1059 明明的随机数

题目地址#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int MAXN=1e3;int a[MAXN];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i...

2019-10-10 21:41:02 286

原创 P1328 生活大爆炸版石头剪刀布

题目地址注意点:可以直接用{}初始化数组.#include<cstdio>#include<iostream>using namespace std;const int MAXN=2e3;int isWin[12][12]={{0,-1,1,1,-1},{1,0,-1,1,-1},{-1,1,0,-1,1},{-1,-1,1,0,1},{1...

2019-10-10 21:31:55 112

原创 P1307 数字反转

题目地址注意点:小题小做. 逻辑清晰.#include<cstdio>#include<iostream>#include<cstring>using namespace std;char str[50];int main(){ cin>>str; int cnt=strlen(str)-1; bool isNega...

2019-10-10 18:49:33 126

原创 P1190 接水问题

题目地址注意点:每一个模块完成后都应进行测试. 编程前应当首先自行模拟每个样例.#include<cstdio>#include<iostream>#include<queue>using namespace std;const int MAXN=2e4,MAXM=1e3;int restTime[MAXM];//每个水龙头的剩余使用...

2019-10-10 00:22:28 200

原创 P1179 数字统计

题目地址#include<cstdio>#include<iostream>using namespace std;int getTwoNum(int val){ int cnt=0; while(val){ int nowVal=val%10; if(nowVal==2)cnt++; val/=10; } return cnt;}i...

2019-10-09 21:41:03 147

原创 P1083 借教室

题目地址注意点:需要一开始build一次才能保证minn的正确性.#include<cstdio>#include<iostream>using namespace std;const int MAXN=2e6,INF=2e9,root=1;struct Node{ int l,r; int minn=INF,lazy;}tr[4*MAXN...

2019-10-09 20:55:29 124

原创 P1079 Vigenère 密码

题目地址注意点:写完一段代码后应当先进行一次静态查错.#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int MAXN=2e3;bool isCapital(char val){//是否大写 if(val>='A'&a...

2019-10-09 00:42:35 220

原创 P1071 潜伏者

题目地址易错点:"唯一对应"这一性质需要双向合法.#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int MAXN=2e2;char lock[MAXN],orignal[MAXN];char match[MAXN];boo...

2019-10-08 21:02:22 109

原创 P1068 分数线划定

题目地址#include<cstdio>#include<iostream>#include<algorithm>#include<cmath>#include<vector>using namespace std;const int MAXN=1e4;struct Person{ int index,score...

2019-10-07 23:34:50 169

原创 P1067 多项式输出

题目地址注意点:可以使用OOP的思想. 应当认真理解题目限制条件.#include<cstdio>#include<iostream>#include<cmath>#include<cstring>using namespace std;const int MAXN=5e3;int cnt;void printX(...

2019-10-07 20:47:42 108

原创 P1969 积木大赛/P5019 铺设道路

题目地址基本思路:连续增减性.#include<cstdio>#include<iostream>using namespace std;const int MAXN=2e5;int h[MAXN];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf...

2019-10-06 01:41:58 174

原创 AW314 低买

题目地址易错点:从前往后枚举并尝试进行更新的思想值得学习.#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e4;int a[MAXN];int f[MAXN],num[MAXN];int main(){ int n; scanf("%d",&n...

2019-10-05 21:01:49 103

原创 P3834 【模板】可持久化线段树 1 (主席树)

题目地址易错点:查询时若k>lsum则下一步应当query(tr[p].rs,tr[q].rs,mid+1,r,k-lsum);这是由可持久化结构的迭代性得出的.#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e7,INF=2e9;struct Node...

2019-10-05 01:57:36 110

原创 AW201 可见的点 (欧拉函数)

题目地址易错点:初始化时可以直接忽略1的欧拉函数,以便于前缀和统计.#include<cstdio>#include<iostream>using namespace std;const int MAXN=2e3;int phi[MAXN],sum[MAXN];void eular(int x){ for(int i=2;i<=x;i...

2019-10-03 20:08:41 195

原创 P3912 素数个数

题目地址#include<cstdio>#include<iostream>#include<cmath>using namespace std;const int MAXN=1e8;bool notPrime[MAXN];int notPrimeCnt=0;void initPrime(int x){ int tot=sqrt(x+0...

2019-10-03 02:17:02 575

原创 P1029 最大公约数和最小公倍数问题

题目地址#include<cstdio>#include<iostream>#include<cmath>using namespace std;int gcd(int a,int b){ return b?gcd(b,a%b):a;}int main(){ int x,y; scanf("%d%d",&x,&y);...

2019-10-03 01:34:36 98

原创 P1835 素数密度

题目地址基本思路:将区间内质数离散化到空间大小为1e6的数组中.易错点:需要特判l==1和l/primes[i]>1的情况.#include<cstdio>#include<iostream>#include<cstring>#include<cmath>using namespace std;const int...

2019-10-02 10:47:47 448 1

原创 P2563 [AHOI2001]质数和分解

题目地址易错点:转移时直接使用+=即可.#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int MAXN=300;int primes[MAXN],primeCnt=0;bool notPrime[MAXN];void init...

2019-10-02 10:38:15 232

原创 P1075 质因数分解

题目地址#include<cstdio>#include<iostream>using namespace std;int main(){ int n; scanf("%d",&n); for(int i=2;i<=n;i++){ if(!(n%i)){ printf("%d\n",n/i); break; } }...

2019-10-02 10:12:19 114

原创 AW199 余数之和

题目地址#include<cstdio>#include<iostream>#define ll long longusing namespace std;int main(){ ll n,k; scanf("%lld %lld",&n,&k); ll ans=n*k; int gx; for(int x=1;x<=n;x=...

2019-10-02 00:19:36 109

原创 AW198 反素数

题目地址主要思路:素因子累乘并利用题目限制条件更新答案.#include<cstdio>#include<iostream>#define ll long longusing namespace std;int primes[26]={0,2,3,5,7,11,13,17,19,23,29,31,37},primeCnt=12;//质数表int m...

2019-10-01 21:37:42 148

原创 AW197 阶乘分解

题目地址算法原理: (文章链接)#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e6;int primes[MAXN],primeCnt=0;bool notPrime[2*MAXN];void initPrime(int x){ for(int i=...

2019-10-01 10:22:49 107

原创 AW196 质数距离

题目地址毒瘤点:primeCnt必须放到一个玄学的位置。如果放到上面,评测的时候就会报错.易错点:INF必须开到2147483647而不是1<<30. 需要对质数判定有着纵深的理解.#include<cstdio>#include<iostream>#include<cstring>#include<cmath&g...

2019-10-01 08:53:28 90

原创 P3383 【模板】线性筛素数 (埃氏筛法)

题目地址#include<cstdio>#include<iostream>#include<cmath>#include<cstring>using namespace std;const int MAXN=20000000;bool isPrime[MAXN],notPrime[MAXN];void initPrime(i...

2019-09-30 23:01:58 187

原创 P3383 【模板】线性筛素数 (试除法)

题目地址注意点:0和1都不是素数,所以在判断时要特判<=1的数字.#include<cstdio>#include<iostream>#include<cmath>using namespace std;bool isPrime(int x){ if(x<=1)return 0; for(int i=2;i<=sqr...

2019-09-30 15:37:30 83

原创 AW353 雨天的尾巴 (线段树合并)

题目地址易错点:merge()时如果val==0应当把pos也设为0,这样就可以保证没有救济粮的情况下输出值为0. 每次insert后val和pos一定都要更新. 由于要求编号尽量小,pos更新时若tr[tr[p].ls].val>=tr[tr[p].rs].val则tr[p].pos=tr[tr[p].ls].pos. dfs合并每个点的线段树时,一定要注意更新root[...

2019-09-29 12:52:30 135

原创 AW245 你能回答这些问题吗(连续子段和线段树)

题目地址易错点:建树递归到叶节点后,初始化时要注意不要漏掉某个元素. 查询时要注意不要用反元素名称(rx -> lx). 查询时a和b只需要reset a和b(ans不需要).#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e6,MAXM=2e5,IN...

2019-09-28 21:18:40 107

原创 AW256 最大异或和(可持久化0/1trie树)

题目地址注意点:思想可以类比主席树.#include<cstdio>#include<iostream>using namespace std;const int MAXN=1e6,MAXINDEX=MAXN*24;int trie[MAXINDEX][2],trieCnt=0,latest[MAXINDEX];int s[MAXN],root[M...

2019-09-27 12:32:49 390

原创 AW247 亚特兰蒂斯(区间覆盖线段树)

题目地址注意点:需要将y轴坐标离散化后映射到线段树上.#include<cstdio>#include<iostream>#include<algorithm>#include<map>using namespace std;const int MAXN=2e5;struct Point{ double x,y,z; ...

2019-09-26 21:19:07 182

原创 P1616 疯狂的采药

题目地址注意点:T*M的上界开不下,必须滚动.#include<cstdio>#include<iostream>using namespace std;const int MAXT=2e5,MAXM=2e4;int f[MAXT],v[MAXM],w[MAXM];int main(){ int t,m; scanf("%d%d",&t...

2019-09-26 12:38:40 141

原创 P1060 开心的金明

题目地址注意点:如果不把第一维(物品种类)滚动掉的话,正序/反序都无所谓.滚动前:#include<cstdio>#include<iostream>using namespace std;const int MAXN=6e4,MAXM=1e2;int f[MAXM][MAXN],v[MAXM],w[MAXN];int main(){ in...

2019-09-26 12:30:16 68

testdata.in

testdata.in

2019-11-05

test1:[USACO11JAN]道路和飞机Roads and Planes

仅供参考,用于代码测试

2019-06-06

空空如也

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

TA关注的人

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