爬虫——爬取文件
爬取文件 需求分析:考研买的书本找到对应的网课资源,需要自动化一键下载课程资源,避免手动一个个f12找到对应网络资源后,又一个个点击下载,重命名等繁琐的操作。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741...
SZU_2025_校赛
深大半日游~ 第一次出校打 ,值得记录。同时也认识了很多可爱的学弟学妹. 简单说一下赛况,是的,赛时出了A,C,I,K,L。5题拿了铜.(比较惊心动魄的是最后半小时ac了两道题) 赛后发现,应当还要能够出 H, E 题 做完已学知识能够完成的题目之后,应当要能够做的题目分别是 J——nim游戏 A 花了一个小时找规律。 最后通过打表打了n=4,5,6,找出了规律,如果早点观察样例说不定就可以猜出答案了 1 C 和A一样,是在最后半个小时出的,也是找了蛮久的规律,最后发现读错了题目,题目并没有要求要所有字母最后相同,也怪自己没有好好把每一个样例模拟一遍去理解。 后来发现满足z*k的组后一定一样,那就去记录连坐的位置的修改连坐中的谁的操作步骤最小即可。 1 I 我的第二道签到题 结构体排序,做的时候贡献了5发,有一个细节没注意到,字符串相同的时候,按照时间顺序来排 1 K 我的第三道签到题 看完题目就想到位于中间位置才能到达其他位置。 继续分析,发现从中间字母出发只用1步,从其他位置到不是中间字母都需要两步。抓住这个思路往下做就ac了 1 ...
ABC-399(a-f)
总结为掉分,掉得不应该。 教训是下次多读几遍题目,知道题目要做什么 A 汉明码,直接找不同 B 给数字排序,打得有点繁琐了 C 并查集,打得也是有点繁琐。 重要思想:在并查集的一开始,把每一个看成一个连通块,每连接一条边,连通块就减少一个。 总结:相应的,最后用总点数减去剩下的连通块,就是连的边数 D 一开始直接看样例,没有懂样例的最后一个例子,本人也因没认真读懂题目,一直在找最小换座位次数。 题意:找到第一次出现和第二次出现都相邻的点对数 方法:开一个数组维护一个数第一次出现的位置,当数x第一次出现的位置,和x前一位数 y ,当且仅当 x和y第一次出现的位置相差1的时候才有统计答案。特殊地,(1) 如果y前一个位置的是他自己第一次出现的位置,这个时候的不能统计; (2) 如果刚统计完就是自己也不能统计; 1234567891011121314151617181920212223242526272829303132333435363738394041424344#include<bits/stdc++.h>using namespace std;type...
ABC-376(a-e)
TasksABC376 总结,acde题都能够在赛事大概读通题目,b题没看明白, 我感觉可能是自己的堆栈以及bfs还不够熟练 A 最近总是A就wa,好好反思一下哈 1234567891011121314151617181920212223242526272829303132#include<bits/stdc++.h>using namespace std;signed main(){ ios::sync_with_stdio(false); cin.tie(0); int n,c; cin>>n>>c; vector<int> a(n+1); int res=1; for(int i=1;i<=n;i++){ cin>>a[i]; } int last=a[1]; for(int i=2;i<=n;i++){ if(a[i]-last>=c){ res++; last=a[i]; } } cout<<res<<endl; return 0;} B 大...




