- 博客(48)
- 收藏
- 关注
原创 10.7写作练习
表述很乱,可以改成I disagree with the notion that frequent relocation leads to the loss of friends, therefore considering it as a negative viewpoint.since表示“因为”用法和because相同 后面引导完整从句而不能只跟名词 because of/due to + n.
2023-10-19 16:43:23
193
原创 10.1 做题笔记
听力记例子的时候尽可能顺便记一下分论点 如果介绍了一个被淘汰的版本,一定要记下来它的问题是什么,professor对它的评价是什么 如果有哪个东西没听到,相信听到的文章主题内容 有定义还是最好记一下 选项里出现太绝对的词一定要带回原文看一看
2023-10-01 22:13:52
133
原创 9.30做题笔记
英文的逻辑是先列出主题概念,在进行佐证 慎选more important,如果有的话,一定注意看看名词主语是什么,看不懂也要看,不是目标答案就判错 插入题不要按照语法判断,按照逻辑意思判断 宁愿选不认识的也不要选已知错误的 每一句都要尽可能听清
2023-10-01 21:14:20
140
原创 9.25听力总结
听懂为重 可能有模糊选项,不要随便猜测出题者意图,实事求是的做 每一句都要听,漏信息点很致命 注意问题中的限定词,interior feature就不要选窗户这种了,如果有限定词一定一定要注意 注意时间顺序 注意感情色彩(一般都很清楚,不要随便想弦外之音) always harmful类似的不是全盘否定,可以选 一定注意,mainly与意图有关,提了一两句的不可能算主旨,问题的前置原因可能是主旨,问题的一小个没有展开的部分不是主旨
2023-09-25 22:30:44
149
原创 luogu1073最优贸易 做题笔记
题面传送门一眼看过去能往回走,各种图论算法肯定是不能直接用的,但是既然能回到自己,那就是说连通块里的每个点先后顺序随便,所以tarjan缩点搞一搞+DAG图dp然后中间脑抽,啊,DAG图不就是一棵树吗,所以搞个dfs,记录一下爸爸,线性dp!果然是太久没写dag图dp了……DAG图是一棵有向树,性质和树不完全相同,不能这么搞的所以正解应该是tarjan缩点+top排序+树形dp...
2019-11-12 16:24:34
158
原创 20191031
#include<bits/stdc++.h>#define ll long long#define maxn 10010using namespace std;int n,m,k;struct edge{ int end,next;}e[maxn];int tot;int head[maxn];void add(int x,int y){ e[++tot]...
2019-10-31 20:36:36
125
原创 nim石子游戏
n堆石子每次操作可以从一堆石子中取任意个不能操作者输ans:把所有石子数量xor,为0先手必败,反之后手必败必胜状态:存在一种方案走到对方的必败态必败状态:所有方案都会走到对方的必胜态现在证明结论若莫得石子,xor=0,先手必败若当前xor为0,那么操作一次xor就必定不再是0若当前xir不为0,那么一定存在一种那石子方案使得xor变成01 3 4=》...
2019-10-30 19:20:51
425
原创 金明的预算方案
#include<bits/stdc++.h>#define maxn 32010using namespace std;struct node{ int v,w,fa;}a[maxn];struct edge{ int next,end;}e[maxn];int tot;int head[maxn];void add(int x,int y){ e[+...
2019-10-29 13:17:13
286
原创 蒟蒻的板子复习计划(二) 匈牙利算法
又到了喜闻乐见的wyf烧情侣环节今天我们要解决的是ll和lrh伪代码for (遍历所有ll集合中的点){ if(这个ll莫得lrh) if(作为一个成熟的ll是不吃回头草的,所以只能找莫得被找过的lrh) 看看她能不能找到一个lrh,找到就ans++; }void find(){ for (当前ll的所...
2019-10-28 21:26:24
127
原创 蒟蒻的板子复习计划(一) dijkstra
#include<bits/stdc++.h>#define ll long long#define maxn 400010using namespace std;struct Edge{ int end,next,val;}e[maxn];int tot;int head[maxn];void add(int x,int y,int z){ e[++tot]...
2019-10-28 20:48:00
122
原创 20191024
#include<bits/stdc++.h>#define ll long long#define maxn 10000010using namespace std;bool not_p[10000007];int p[maxn];struct os{ int x,y;}chart[maxn];int a[maxn];int main(){ freopen...
2019-10-24 21:52:15
201
原创 20191023
#include<bits/stdc++.h>#define maxn 800010#define ll long longusing namespace std;struct Edge{ int be,next,u,v;}e[maxn];int tot; int head[maxn];void add(int x,int y,int z){ e[++tot]...
2019-10-23 21:58:31
126
原创 ntt
#include<bits/stdc++.h>using namespace std;#define mo 998244353char cc[100010],*dd = cc + 100000;//#define gc ((dd == cc + 100000 ? (fread(cc,1,100000,stdin),dd = cc) : 0),*(dd++))#define ...
2019-10-23 21:04:10
185
原创 20191022
#include<bits/stdc++.h>#define ll long long#define maxn 10010#define mo 100000007using namespace std;int n,m;struct node{ ll g[2+2][2+2];}f,res,t;void muli(node a,node b,node &c)...
2019-10-22 22:01:23
199
原创 快读
#define ll long longinline ll read(){ ll x=0,c=gc; while (!isdigit(c)) c=gc; while (isdigit(c)) x=x*10+c-'0',c=gc; return x;}int main(){ int n=read();}%%%z...
2019-10-22 21:05:46
192
原创 20191021
#include<bits/stdc++.h>#define maxn 1001000#define ll long longusing namespace std;int que[30];int jishu=0;bool is_queue[30];char s[maxn];int num[30][maxn];//字符第i次出现时在第多少层 int tot[maxn...
2019-10-21 20:45:39
438
原创 树形背包
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#define fo(i,j,l) for(int i=j;i<=l;++i)#define fd(i,j,l) for(int i=j;i>=l;--i)using namespa...
2019-10-21 20:40:25
90
原创 gun
#include<bits/stdc++.h>#define ll long long#define maxn 400010using namespace std;long long segtree[401010],a[100100],add[401010],mo,flag[401010];ll segmin[maxn],segmax[maxn];int tag[ma...
2019-10-17 21:53:58
126
原创 树形dp
递归dp,找个根往下大法师往上回溯呗用儿子更新爸爸#include<bits/stdc++.h>#define maxn 40010using namespace std;struct edge{ int next,end;}e[maxn];int head[maxn];int tot;void add(int x,int y){ e[++tot]....
2019-10-16 21:14:55
69
原创 manacher
#include<bits/stdc++.h>#define maxn 51000010using namespace std;int n,f[maxn];char a[maxn],s[maxn<<1];void change(){ s[0]='#'; s[1]='#'; for (int i=0;i<n;i++) s[i*2+2]=a[i],...
2019-10-15 20:46:20
104
原创 20191015
树对于每个点求lca时,维护一个大小为10的数组,记录最大树,合并时归并即可stringmanacher算法求字符串回文串(一个优美的暴力算法)a[i]表示以i为中心位置,最长回文串半径为了防止出现abaaba这种无中心的回文串,所以我们在每个字符间都加入一个#或者¥,保证有中心x:当前已经求出的,右端点最远的回文串的中心,y表示它的右端点根据回文串对称性,可以用已经求...
2019-10-15 18:47:36
106
原创 20190927
#include<bits/stdc++.h>#define maxn 10010using namespace std;struct edge{ int be,end,next,v;}e[maxn];int head[maxn];int tot;void add(int x,int y,int z){ e[++tot].next=tot; e[to...
2019-09-27 12:43:07
101
原创 背包小结
作为dp的一个重要表现形式,单独总结一下吧01背包背包最基础的就是01背包,递推公式为当f(i,j)表示用前i个物品放在j的空间中的最大价值,luogu_1048 采药(这里用了一点压维技巧,因为我们无需记录每个值,因此只记录对后面有影响的局部最优值即可)/*作者:薇亚040214日期:2019/07/27OJ:luogu题目:luogu_1048*/#inc...
2019-08-13 00:04:34
93
原创 tarjan算法小结
之前咕咕掉了tarjan,想了想还是写写吧dalao的blog 很有参考价值,大佬写的太棒了tarjan用于求强连通分量以及缩点,这类题的特征是非常明显的,同一个强联通分量中各点距离=0,缩点 只需判断能否到达,不需要判断走的顺序(如果加上顺序就是缩点+树上dp)tarjan单求强连通分量是比较少见的,一般都会缩点,缩点之后的DAG图就比较方便,跑最短路或者dp都可以#code...
2019-07-27 16:17:51
166
原创 匈牙利算法小结
匈牙利算法匈牙利算法主要应用于找二分图最大匹配,通过找增广路实现以下为伪代码void dfs(int now){ for (遍历当前点可以连的边) { int to=当前能到达的点 if(没访问过to) to打访问标记; if (to没有匹配||to现在的匹配能找到其他节点匹配) 匹配to,now return true; } 找不到,retur...
2019-07-27 16:00:08
1604
1
原创 树形dp简单小结
树形dp适用于结构为树的图上dp,且不为树的图也可以通过拓扑序搞成类似树形树形dp一般递归求解,从root开始,递归边界为到达叶子节点 枚举当前节点的每个子节点,更新子节点的值,回溯时通过子节点更新父亲节点的值 存图可以使用链式前向星或邻接表(貌似vector也可以?没用过)主要目的为存储每个节点的子节点下标 时间复杂度其实挺优秀的,不一定递归求解就慢,每个节点只访问一遍 对于不是树的...
2019-07-26 16:30:47
184
原创 区间dp小结
最近写了不少区间dp的题,简单记录一点小小的经验吧首先区间dp的显著特点就是有进行区间合并的操作,每个区间的最优解可由子区间最优解合并得出,且合并点不定,需要枚举dp≠瞎搞,每种不同类型的dp也有大致的模板初始化f[i][i]的情况for (k=2;k<=n;k++)//枚举区间长度{ for (int i=1;i<=n+k-1;i++)//枚举区间左...
2019-07-26 10:36:19
165
原创 随笔
1、筛因子的时候可以参考埃式筛法筛素数2、一个数所有因数的数量=每个质因子次数的乘积3、公式转换有奇效4、玄学优化空间,vector,queue,邻接表,动态开空间防止浪费...
2019-07-20 20:26:03
112
原创 luogu_3933 Chtholly Nota Seniorious
luogu_3933 Chtholly Nota Seniorious传送门题目大意为将矩阵划分为两部分,要求两部分极差的最大值最小,考虑二分答案且分界线要求单调递增或单调递减,方向不限,考虑矩阵旋转其中矩阵旋转通过改变分界线枚举方向实现因为只有两个部分,因此只需标记其中一部分即可最大值最小值一定不在同一部分,因此要分别考虑最大/最小值在当前部分蓝题以上...
2019-07-17 18:08:45
356
原创 随笔一点
1、若空间爆炸(如ll数组开太大)可能会造成“原文件未编译”的错误2、莫名错误可能是占用系统保留字,尽量不要用英文全拼3、做题应限时,一道题最多1h4、应重视新算法的应用5、心情不好的时候可以QwQ ...
2019-02-01 19:44:44
176
原创 我最痛恨的拓扑排序QwQ
(鬼 知 道 刚 学 这 破 玩 意 的 时 候 我 有 多 绝 望,现在再回来学,嗯! 真 可 爱 )基本定义拓扑序有以下几个特点拓扑序中的点没有指向它前面点的边(拓扑序中我们讨论的边均为有向边) 由上一条可得拓扑序中若A指向B,则A一定排在B的前面 要讨论拓扑序则该图中不得有环 每个顶点在一个拓扑序中只出现一次 一个图的正确拓扑序不止有一种算法思想每个点都有入度和出度...
2018-10-04 19:52:31
142
原创 Kruscal&它的好朋友并查集
……我觉得我需要写一下并查集……毕竟我这么菜……不写篇博客过几天我都不知道自己学过 找爸爸 并查集了但我这么菜,我也写不出太多东西……那就让这俩一起吧QwQ 反正kruscal也要用并查集的QwQ并查集并查集,俗称找爸爸(雾),就是多个集合之间的查询&合并,具体操作包括:查询某两点是否在同一集合,合并某两点所在集合,以及一些鬼畜的操作先贴代码,再说思想int fi...
2018-10-03 18:47:12
181
原创 一点随笔记录
关于次小生成树理解一:求出最小生成树 枚举所有非树边 将非树边替换其两端点生成树内边中较大的一个理解二:求出最小生成树 枚举所有非树边 将非树边加入最小生成树,这时一定会形成环 找出环中除那条非树边之外最大的一条边,删掉 ...
2018-10-03 15:53:35
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人