DP&图论 DAY 3 上午】的更多相关文章

DP&图论  DAY 7  上午 图论练习题 P2176 [USACO14FEB]路障Roadblock 先跑最短路(最多n条边,否则出环) 枚举每条边,加倍,再跑 dijkstra 取最大 P2939 [USACO09FEB]改造路Revamping Trails Solution 分层图最短路 从上一层到下一层,起点之间连边 Solution 暴力N^2建边 然后发现有一些边是没用的 假设存在3个点  (x1,y1)   (x2,y2)    (x3,y3) min( |x1-x3| , |…
DP&图论  DAY 6  上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [POI2008]BLO-Blockade 1.不删割点,减少 2(n-1) 2.删割点,图分裂多个联通快,连通块大小*其他所有连通块大小 缩点之后得到一个树 P2860 [USACO06JAN]冗余路径Redundant Paths 缩点之后变成树,加多少边 二分图 无向图 二分图:点黑白染色,邻点不同色.…
DP&图论  DAY 5  上午 POJ 1125 Stockbroker Grapevine 有 N 个股票经济人可以互相传递消息,他们之间存在一些单向的通信路径.现在有一个消息要由某个人开始传递给其他所有人,问应该由哪一个人来传递,才能在最短时间内让所有人都接收到消息. Solution 全局最短路 Floyd POJ 1502 MPI Maelstrom 给出 N 个处理器之间传递信息所需时间矩阵的下三角,求信息从第一个处理器传到其它所有处理器所需时间最大值. Solution 单源最长路…
DP&图论  DAY 4  上午 概率与期望 概率◦某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A).◦假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那么P(A)=m/n.◦例如投掷一枚骰子,点数小于3的概率为2/6=1/3. ◦如果两个事件A和B所涵盖的结果没有交集,那么P(A或B发生)=P(A)+P(B)◦还是掷骰子◦ P(点数小于3或点数大于4)=2/6+2/6=2/3◦如果A和B所涵盖的结果有交集◦那么P(A或B发生)=P(A)+P(B)-P(A与…
DP&图论  DAY 3  上午 状态压缩dp >状态压缩dp ◦状态压缩是设计dp状态的一种方式.◦当普通的dp状态维数很多(或者说维数与输入数据有关),但每一维总量很少是,可以将多维状态压缩为一维来记录.◦这种题目最明显的特征就是: 都存在某一给定信息的范围非常小(在20以内),而我们在dp中所谓压缩的就是这一信息.◦(或者是在做题过程中分析出了某一信息种类数很少)◦我们来看个例子. >经典题◦给出一个n*m的棋盘,要放上一些棋子,要求不能有任意两个棋子相邻.求方案数.◦ n<…
DP&图论  DAY 6  下午  考试 样例输入 样例输出 题解 >50 pt      dij 跑暴力 (Floyd太慢了QWQ    O(n^3)) 枚举每个点作为起点,dijkstra,跑暴力  O( (n+m)logn ),寻找全局最短路 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<cmath> #inclu…
DP&图论  DAY 5  下午 树链剖分  每一条边要么属于重链要么轻边 证明: https://www.cnblogs.com/sagitta/p/5660749.html 轻边重链都是交替走的(此处重链可以走若干条边) 1.dfs1 统计子树大小,确定重儿子 2.dfs2 找重链       重链,子树,分别是连续的一段 每个结点属于一个重链 ta < tb a 跳到 ta 的父节点 logn 级别 将树序列化 SPOJ QTREE Query on a tree Solution 树…
DP&图论  DAY 4  下午 后天考试不考二分图,双联通 考拓扑排序 图论 图的基本模型 边: 有向边构成有向图 无向边构成无向图 权值: 1.无权 2.点权 3.边权 4.负权(dij不可以跑) 环: 1. 2.重边 3.有向无环图DAG 路径: 1.简单路径:不经过重复的点  1-->2-->3 不简单路径:经过重复点  1-->2-->3-->1-->4 2.连通,具有传递性 图: 1.树:n个点,n-1条边的无环连通图 2.完全图:一个无向图,图中任…
DP&图论  DAY 2  下午 基础树形DP 前言◦ 1:与树或图的生成树相关的动态规划.◦ 2:以每棵子树为子结构,在父亲节点合并,注意树具有天然的子结构.这是很优美的很利于dp的.◦ 3:巧妙利用Bfs或Dfs序,可以优化问题,或得到好的解决方法.◦ 4:可以与树上的数据结构相结合.◦ 5:树形Dp的时间复杂度要认真计算,部分问题可以均摊复杂度分析.◦ 6:一般设f[u]表示u子树的最优价值或者是说方案数.◦或者f[u][k]表示u子树附加信息为k的最优值,往往是通过考虑子树根节点的情况进…
DP&图论  DAY 1  下午  区间和序列上的DP 序列上的DP >序列上的dp状态设计最基本的形式 F[i]表示以 i 结尾的最优值或方案数.◦ F[i][k]表示以 i 结尾附加信息为k的最优值或方案数.◦当然可以有多维附加信息.◦转移的话往往是枚举上一个断点.◦ F[i]=max { F[j]+ w(j+1,i) | j是一个满足转移条件的断点}.◦另一个很常见的是: f[i][j]前i个位置分成j段/选出j个的最优值.◦这是最简单的一类序列上的dp. >bzoj1003◦有…
[题解]284E. Coin Troubles(dp+图论建模) 题意就是要你跑一个完全背包,但是要求背包的方案中有个数相对大小的限制 考虑一个\(c_i<c_j\)的限制,就是一个\(c_i\)一定可以对应一个\(c_j\),一个常见的钦定手法是,直接把\(c_j\)的权值捆绑在\(c_i\)上,实现选一个\(c_i\)必选一个\(c_j\).但是题目里是大于号怎么办,那就直接在背包中钦定先拿一个\(c_j\)即可. 现在问题就是维护这一个捆绑的关系,我们可以直接根据差分约束的那种方法建模出来…
依然zhx讲. 讲了概率与期望: 期望:事件结果的平均大小.记作E(x). E(x)=每种结果的大小与其概率的乘积的和. 例如,记掷一枚骰子的点数为x E(x)=1*(1/6)+2*(1/6)+3*(1/6)+4*(1/6)+5*(1/6)+6*(1/6)=7/2 若c为常数,那么: E(x+c)=E(x)+c,E(c*x)=c*E(x). 如果记两个事件的结果分别为x,y,那么他们自然满足以下性质: E(x+y)=E(x)+E(y) 例如:E(语文成绩+数学成绩)=E(语文成绩)+E(数学成绩…
上午讲数位dp和背包问题. 先讲背包: 完全背包:换了个顺序: 多重背包: 多重背包优化: 这样把每个物品分成这些组,那么把他们转变成不同的物品,就变成了01背包问题: 滑动窗口取最值问题.单调队列优化. 方法很简单,枚举每一组中的其中一个物品计算即可. 小技巧: 有些懵... : 终于,到了数位dp环节:(恶心了一上午.) dp方法: 判断上界. 假如我们要枚举到2147,当前已经枚举到了第二位,如果枚举到了1,那么我们说他达到了上界,下一位只能从0枚举到4.如果这一位是0,由于不管下一位是多…
讲课人: 老师对dp的理解是类似于分治思想,由小状态推出大状态.不同的是分治算法没有重叠子问题. dp把子问题越划越小,从而推出了基础状态.然后是dp方程,要满足简洁性,并且充分描述能够影响最后结果的条件. 转移?zhx:从小问题推到大问题就是转移. 原题链接:. 思路:先把挂钩数量排个序 这个题和导弹拦截差不多,你对l进行从大到小排序,那么文题就变成了求最长不上升子序列的个数,也就是最长上升子序列的长度. n^2做法. 先想n^4做法,然后一步一步优化. 来道水题. 上午完结. 下午: 序列d…
Problem AProblem Description有一天 Tarzan 写了一篇文章,我们发现这文章当中一共出现了 n 个汉字,其中第 i 个汉字出现了 ai 次,因为 Tarzan 不希望文章被别人偷看,他要给这 n 个字分别用一个特殊的字符串表示,其中每一个字符串由两类字符组构成,一类是 a,另一类是 ha,例如 ahaha 就是由 a. ha 和 ha 构成的,我们希望帮助 Tarzan 给每个汉字一个独一无二的字符串,其中不能存在两个字符串一个是另一个的前缀.我们同时希望文章尽量短…
.状态压缩dp: 对于这个我们引入二进制状态压缩,因为任何一个数都可以二进制表示,而其二进制表示上每一位都可以表示当前位置是否有元素,这就构成了状态压缩. 对于这个题,上下行&一下就行. 状压: 判断是否被攻击到:当前直接&,左移一下并&,右移一下并& 位运算的小技巧: 枚举s的子集: dp的优化: 看着就像单调队列QWQ.…
考场上随手构造了一组数据把自己卡掉了 然后一直都是掉线状态了. 最后发现这个东西不是subtask -1的情况不多 所以就没管无解直接莽 写题有点晚 故没调出来.. 考虑怎么做 容易想到建立AC自动机 然后不能跑到结尾节点 fail是结尾节点的也不能跑. 把那些节点抽出来就可以随便跑了 题目描述非常丧心病狂 两个字符串相等描述的莫名其妙. 不过这道题的本意让我们求出两端在环内的字符串个数. 发现如果存在不是简单环的话是无解的 如果出现两个环的路径上还是环的话也同时无解. 对于前者 一个非常妙的t…
C. The Intriguing Obsession time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output — This is not playing but duty as allies of justice, Nii-chan! — Not allies but justice itself, Onii-chan! With h…
xysq主讲: 求点双和边双代码: 对所有点进行染色,如果存在一种方案使得相邻的点不同色,那么他就是个二分图. 二分图两种求法,1,dfs求增广路. 2,网络流:最大流=最小割 差分约束: 下午又要考试了..... 爆零辣!…
ysq主讲: tarjan缩点+拓扑+dij最短路. floyd..... 单源..最长路... 建正反两个图. 二分答案,把大于答案的边加入到新图中,如果能走过去到终点,就可以. 或者:从大到小加边,(最大生成树),一直加到第一次能连通,就终止. 再或者:跑dij,把缩点的操作改为取min. prim: 代码: 正确性: kruskal: 拟阵: 拟阵来证正确性. 树上倍增求lca和序列倍增: 树链剖分:重儿子与轻边,需要两边dfs,第一次确定重儿子,第二次剖分树链. 树链剖分lca: 树链剖…
上接:DP&图论 DAY 1 上午 这两个题本质是一个亚子,所以放一起啦 DPDPDPDPDPDPDPDP P1115 最大子段和 题解 因为题目要求的是一段连续的区间,所以前缀和搞暴力??? 我们设置数组 f[ i ] 表示以 a[ i ] 结尾的最大连续子段和 那么转移??? 1.接着上一段,继续构成一段连续的子段 continue the old life 2.自成一段  和过去 say goodbye 转移方程:  ans记录最大值就好啦 代码 #include<bits/stdc+…
首先求出各点之间的最短路,floyed即可,注意是0-n. 然后考虑状压,f[i][j]表示状态为i时访问j点时的最短路和,1表示访问,0表示未访问,然后第j个点所在的位置就是(1<<j)有0存在,例如状态1010,从右至左,点1.3被访问,所以我们要处理第1各点就是(1<<1). f[i][j]=min(f[i][j],f[i-(1<<j)][p]+dis[p][j]); p表示枚举每个点,i-(1<<j)状态回到访问j之前,很详细了. #include…
[NOI2009]二叉查找树 [问题描述] 已知一棵特殊的二叉查找树.根据定义,该二叉查找树中每个结点的数据值都比它左子树结点的数据值大,而比它右子树结点的数据值小.另一方面,这棵查找树中每个结点都有一个权值,每个结点的权值都比它的儿子结点的权值要小.已知树中所有结点的数据值各不相同:所有结点的权值也各不相同.这时可得出这样一个有趣的结论:如果能够确定树中每个结点的数据值和权值,那么树的形态便可以唯一确定.因为这样的一棵树可以看成是按照权值从小到大顺序插入结点所得到的.按照数据值排序的二叉查找树…
这是一道数据范围和评测时间水的可怕的题,只是思路有点难想,BUT假如你的思路清晰,完全了解怎么该做,那就算你写一个反LLL和反SLE都能A,如此水的一道题,你不心动吗? 下面贴出题目 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪.由于各种因素的存在,有的时候某个码头会无法装卸货物.这时候就必须修改运输路线,让货物能够按时到达目的地…
layout: post title: 训练指南 UVA - 11324(双连通分量 + 缩点+ 基础DP) author: "luowentaoaa" catalog: true mathjax: true tags: - 双连通分量 - 基础DP - 图论 - 训练指南 The Largest Clique UVA - 11324 题意 给一张有向图G,求一个结点数最大的结点集,使得该结点中任意两个结点 u 和 v满足:要么 u 可以到达 v, 要么 v 可以到达 u(u 和 v…
2800 送外卖 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有一个送外卖的,他手上有n份订单,他要把n份东西,分别送达n个不同的客户的手上.n个不同的客户分别在1~n个编号的城市中.送外卖的从0号城市出发,然后n个城市都要走一次(一个城市可以走多次),最后还要回到0点(他的单位),请问最短时间是多少.现在已知任意两个城市的直接通路的时间. 输入描述 Input Description 第一行一个正整数n (1<=n<…
(跑去练习区间DP,然后从上午拖到下午qwq) 能量项链[题目链接] 然后这道题也是典型的区间DP.因为是项链,所以显然是一个环,然后我们可以仿照石子合并一样,把一个有n个节点的环延长成为有2*n个节点的链.然后注意最后一个节点2*n的尾标记=第一个节点的头标记: 然后按照区间DP的常规操作:枚举区间长度,这里我枚举的是将几个能量珠聚合在了一起: 然后枚举左端点:同时保证右端点不会超出2*n的范围: 定义右端点:j=i+num-1: 接下来枚举断点: 枚举断点比较关键,断点枚举要从i~j-1,(…
写于一只蹲在角落的蒟蒻-Z__X... 2020.2.7,图论和 \(dp\) 终于告一段落.蓦然回首,好似已走过许多...不曾细细品味,太多太多又绵延不断地向我涌来... 谨以此纪念 逝去 的图论和 \(dp\); 图论 图的存储 首先,图论的基础:存储.这里介绍几种存储结构: 邻接矩阵 一种最简单,暴力的存储结构,二维数组存储: 注:这是读入方式的一种,具体看题目. cpp cin >> n >> m; for (int i=1;i=m;i++) { cin >>…
REMEMBER US. haruka是可爱的孩子. 如题,此博客用来记录我停课后的日常. Dear Diary 10.8 上午考试. T1,直接枚举每一个点最后一次被修改的情况.(100pts) T2,有一个递推式,但由于数据较大,需要用矩阵快速幂来优化.(20pts 已改) T3,看出来了是最短路+0/1分数规划,但是因为考试策略的问题,导致没有时间深入思考.(0pts 未改) To Solve List: 1.对拍不熟练. 2.学习矩阵快速幂.(Solved) 3.复习0/1分数规划. 4…
sb博主又犯sb错误了! 他觉得以往模拟赛因为犯sb错误扔的分足足有1k分了! 于是他想记录一下自己犯的sb错误看看自己到底有多sb! 嗯就从今天开始吧 2018.9.28 1. 二分边界写错.骚什么啊卡那么紧的上界是要干啥啊开1e9是能死啊? 2. 如果差分完要求前缀和的话记得扫两遍啊扫两遍,只扫一遍求的是原数组的值记住了 3. 真心立flag-->空间再开炸就剁手!! 4. 一个数 x 想求它遍历模 n 剩余系的话应该是 (n-1)/gcd(x,n),不是(n-1)/x 注意了 5. 啊双模…