随笔分类 -  模板

摘要:给定一些线段,要求覆盖1~m最少线段数 按左端点排序,易知我们选起点在目前选的线段范围内的并且右端点最远的线段最优,然而我们没必要每次都从头开始扫,因为前面扫过的就没用了,只要维护一个指针不断右移即可 细节需要积累 也可用dp做 阅读全文
posted @ 2019-10-25 17:20 羊肉汤泡煎饼 阅读(173) 评论(0) 推荐(0)
摘要:板子就是同时在两个线段树上走,然后合并信息,一般是权值线段树 板题: luogu_P3605 求子树内有多少比此点权值大的(类似逆序对 用线段树合并做就是每个点维护权值线段树,每dfs到一个点就dfs并合并它所有儿子的线段树,查询答案 CF600E 一棵树有n个结点,每个结点都是一种颜色,每个颜色有 阅读全文
posted @ 2019-10-11 14:44 羊肉汤泡煎饼 阅读(175) 评论(0) 推荐(0)
摘要:差分约束不用判负环 设$s[i]$为0~i中选了几个数 根据题意$s[bi]-s[ai-1]>=ci$, 根据实际意义每个点最多选一个数$s[i+1]-s[i]>=0,s[i+1]-s[i]<=1$ 从最小值跑到最大值 阅读全文
posted @ 2019-09-28 08:06 羊肉汤泡煎饼 阅读(190) 评论(0) 推荐(0)
摘要:抄题解 把点按深度排序,用near数组记录到每个点最近的关键点的距离,每次取出一个点更新一下near数组,如果不能被覆盖就在它的k级祖先建立关键点,并更新所有k级祖先的k级祖先的near数组 阅读全文
posted @ 2019-09-26 08:56 羊肉汤泡煎饼 阅读(194) 评论(0) 推荐(0)
摘要:写挂了好多次,也不太理解 带修改的情况如果还用(权值线段树)主席树,每个点(root[i])维护前缀的某值出现次数, 每次修改需要对此点后面所有主席树修改,共$nlogn$个 这里用树状数组维护前缀和,平时的树状数组实际上每个点维护的是原序列$[i,i-lowbit(i)+1]$这些值,这里也让每个 阅读全文
posted @ 2019-09-22 21:54 羊肉汤泡煎饼 阅读(335) 评论(0) 推荐(0)
摘要:设$lt[i][j]$为向左最远到达的点,$rt$同理,$ht[i][j]$为向上最远扩展多高 一开始先设初值为自己位置,高度为1 预处理每个点左右扩展的范围,扩展条件根据题目决定 然后可以dp: lt[i][j]=max(lt[i][j],lt[i-1][j]); rt[i][j]=min(rt[ 阅读全文
posted @ 2019-09-17 18:57 羊肉汤泡煎饼 阅读(169) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> #define ll long long using namespace std; ll a,b; int num[15],len;//num表示每位数字上限 ll f[15][15]; ll dfs(int pos,int now,int number,bool lmt,bool led){ //当前位置,当前答案,当前正统计的数字,是否达到数字上 阅读全文
posted @ 2019-09-11 17:52 羊肉汤泡煎饼 阅读(234) 评论(0) 推荐(0)
摘要:在DAG图的部分分下很显然是个dp,拓扑排序dp即可搞定,在存在环的情况下,不知道为什么就要用spfa来dp 主要考察对spfa理解是否深刻,其实spfa的过程就是个dp的过程,尤其$if(d[y]>d[x]+w)d[y]=d[x]+w$非常像一个dp的式子, 我们每次都拿有可能更新其他点的点去尝试 阅读全文
posted @ 2019-09-09 21:06 羊肉汤泡煎饼 阅读(192) 评论(0) 推荐(0)
摘要:模板来自:https://www.cnblogs.com/Winniechen/p/9862745.html 题意:将数列a划分成k段,使得每段内部逆序对最少$(n<=40000,k<=10,a[i]<=n)$ dp式子比较显然,设$f[i][j]$为前$i$个数划分成$j$段的答案,$f[i][j 阅读全文
posted @ 2019-09-09 17:11 羊肉汤泡煎饼 阅读(235) 评论(0) 推荐(0)
摘要:已知一个长度为n的序列a1,a2,...,an。 对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j)) 每个点的$p=max(a[j]-a[i]+\sqrt{|i-j|}$,可以想到dp,$f[i]=max(a[j]-a[i] 阅读全文
posted @ 2019-09-09 08:23 羊肉汤泡煎饼 阅读(271) 评论(0) 推荐(0)
摘要:luogu_P1856矩形周长 POJ_1151_Atlantis 阅读全文
posted @ 2019-09-05 17:28 羊肉汤泡煎饼 阅读(150) 评论(0) 推荐(0)
摘要:我们可能遇到这样的图论模型:在一个正常的图上可以进行 k 次决策,对于每次决策,不影响图的结构,只影响目前的状态或代价。同时这个图论模型和经典的最短路有关,这样我们可以考虑运用分层图最短路。 阅读全文
posted @ 2019-09-02 19:52 羊肉汤泡煎饼 阅读(166) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/wu_tongtong/article/details/78825245 https://www.cnblogs.com/sagitta/p/5982251.html https://blog.csdn.net/wu_tongtong/article/de 阅读全文
posted @ 2019-08-02 16:23 羊肉汤泡煎饼 阅读(199) 评论(0) 推荐(0)
摘要:证明: 设ti是线性同余方程Mi*ti=1(mod mi)的一个解 因为Mi=m/mi是除mi之外所有模数的倍数,所以对于任意的k!=i,都有ai*Mi*ti≡0(mod mk) 又因为Mi*ti≡1(mod mi),所以ai*Mi*ti≡ai(mod mi), 所以若把$x=\sum^{n}_{i 阅读全文
posted @ 2019-05-18 15:06 羊肉汤泡煎饼 阅读(112) 评论(0) 推荐(0)
摘要:区间筛素数:先筛出1~sqrt(R)的素数,然后对于每个询问只要用这些素数筛掉区间内的合数即可。 几个细节:1.特判和1有关的一些情况 2.每次减去L偏移量,数组只开区间大小 3.POJ无法使用万能头文件(需要火星救援(大雾 阅读全文
posted @ 2019-05-10 18:45 羊肉汤泡煎饼 阅读(114) 评论(0) 推荐(0)
摘要:考试抄书(日常) P2038 -- 小叶子的故事之写代码 时间限制:1000MS 内存限制:131072KB 题目描述(correct.cpp) 小叶子要写一道砍手题,要写N个函数。小叶子作为一名强迫症患者,喜欢按从上到下的顺序写函数,他会在写代码之前给要写的函数排个顺序依次完成。现在小叶子给你M个 阅读全文
posted @ 2019-04-13 21:46 羊肉汤泡煎饼 阅读(241) 评论(0) 推荐(0)
摘要:tarjan最重要的之一應該就是dfn和low兩個數組吧,這裡判割邊和割點都是根據的這兩個數組 這裡的思路來自李煜東算法競賽進階指南,好像還有一些其他寫法,但是自己比較菜不會...... 注意這裡的寫法cnt(邊的編號)要初始化為1 一、割邊 對於割邊的判定,需要: 搜索樹上存在一個x的子節點y要滿 阅读全文
posted @ 2019-04-12 17:49 羊肉汤泡煎饼 阅读(95) 评论(0) 推荐(0)
摘要:這麼簡單的算法現在才學...... https://segmentfault.com/a/1190000008484167?utm_source=tag-newest#articleHeader3 https://www.cnblogs.com/grandyang/p/4475985.html 1. 阅读全文
posted @ 2019-04-12 16:39 羊肉汤泡煎饼 阅读(78) 评论(0) 推荐(0)
摘要:其實把update看懂就很好說了,沒什麼特別難理解的 luogu_P4513小白逛公園 阅读全文
posted @ 2019-04-11 21:10 羊肉汤泡煎饼 阅读(110) 评论(0) 推荐(0)
摘要:懶得寫前言 板題:luogu P2731 1.可能是歐拉路和歐拉迴路相套,但是歐拉迴路可以看成一個點,所以無所謂 2.據題解中說求路徑的問題回溯時記錄結果倒序輸出比較穩妥,一定是符合條件的 3.這道題好像應該記錄點的最大和最小值,不過不記最小也能過 阅读全文
posted @ 2019-04-04 20:52 羊肉汤泡煎饼 阅读(153) 评论(0) 推荐(0)