DisplayPort1.4协议学习(一)DP协议概览Note:本文为DP1.4协议学习系列的第一篇,本篇首先从DP整体结构上简要说明DP协议的传输方式有关传输速率对比的问题,请STFW(SearchTheFuckingWeb)DP总体结构说明(三个通道的作用)如图所示,DP接口由三个通道组成:MainLink通道主链路是一个单向的、高带宽的、低延迟的信道,用于传输同步的数据流,如未压缩的视频和音频。辅助通道Auxiliarychannel(AUXCH)AUXCH是一个半双工和双向通道,用于链路管理和设备控制。热插拔检测HPD(HotPlugDetect)HPD信号主要用作检测热插拔,也作为接
收录一些比较冷门的DP优化方法。1.树上依赖性背包树上依赖性背包形如在树上选出若干个物品做背包问题,满足这些物品连通。由于01背包,多重背包和完全背包均可以在\(\mathcal{O}(V)\)的时间内加入一个物品,\(\mathcal{O}(V^2)\)的时间内合并两个背包,所以不妨设背包类型为多重背包。先考虑一个弱化版问题。给定一棵有根树,若一个节点被选,则它的父亲必须被选。显然存在一个\(\mathcal{O}(nV^2)\)的树形DP做法,它能求出以每个节点为根时其子树的答案。接下来引出科技:树上依赖性背包。我们发现对每个节点都求答案似乎有些累赘,因为我们只关心以\(1\)为根时的答案
收录一些比较冷门的DP优化方法。1.树上依赖性背包树上依赖性背包形如在树上选出若干个物品做背包问题,满足这些物品连通。由于01背包,多重背包和完全背包均可以在\(\mathcal{O}(V)\)的时间内加入一个物品,\(\mathcal{O}(V^2)\)的时间内合并两个背包,所以不妨设背包类型为多重背包。先考虑一个弱化版问题。给定一棵有根树,若一个节点被选,则它的父亲必须被选。显然存在一个\(\mathcal{O}(nV^2)\)的树形DP做法,它能求出以每个节点为根时其子树的答案。接下来引出科技:树上依赖性背包。我们发现对每个节点都求答案似乎有些累赘,因为我们只关心以\(1\)为根时的答案
题目传送门:https://www.luogu.com.cn/problem/P1073思路:首先,我们目的是想要在图上dp求最优的路线,但是原图上会存在环,那么我们就要先通过tarjan缩点,将所有环缩成一个点,同时,记录每个点的最大值和最小值,缩点得到DAG后,我们可以在DAG上进行dp,每次转移有三种方式,一是保留上一个点的dp值,二是求得目前所在点的值,三是这个点本身的dp值,三者取最大就ok了。还要注意的是,在建DAG图的时候,要记录每个点的入度,在之后的dp过程中,每一个点在全部走到的时候,才能压入队列,进行更新操作,保证dp内的值是最优的,也就是无后效性。代码:1#include
题目传送门:https://www.luogu.com.cn/problem/P1073思路:首先,我们目的是想要在图上dp求最优的路线,但是原图上会存在环,那么我们就要先通过tarjan缩点,将所有环缩成一个点,同时,记录每个点的最大值和最小值,缩点得到DAG后,我们可以在DAG上进行dp,每次转移有三种方式,一是保留上一个点的dp值,二是求得目前所在点的值,三是这个点本身的dp值,三者取最大就ok了。还要注意的是,在建DAG图的时候,要记录每个点的入度,在之后的dp过程中,每一个点在全部走到的时候,才能压入队列,进行更新操作,保证dp内的值是最优的,也就是无后效性。代码:1#include
几天没写了,今天写一个简单的小题 这道题乍一看,有点没有头绪,但是仔细考虑,也不是毫无头绪. 思路1: 只要会十进制和二进制之间的转换,将十进制转二进制,然后存放到数组里面,接着进行偶数位的操作,最后在转十进制就好;但是,有没有更好的方法呢?思路2:计算机里面数字的存储本来就是二进制,为何要复杂的转来转去?只要想办法对二进制直接操作就好;这里我们可以考虑>>按位右移这一操作符,只要从第0位开始,每次按位右移2位,这样就可以在对每一位的0或1操作就好那么现在考虑的就是,进行操作后,数值和以前变化关系,只要对二进制熟悉,进很容易知道,第几位的数字,大小就是2的几次方,假设是第n位,表
几天没写了,今天写一个简单的小题 这道题乍一看,有点没有头绪,但是仔细考虑,也不是毫无头绪. 思路1: 只要会十进制和二进制之间的转换,将十进制转二进制,然后存放到数组里面,接着进行偶数位的操作,最后在转十进制就好;但是,有没有更好的方法呢?思路2:计算机里面数字的存储本来就是二进制,为何要复杂的转来转去?只要想办法对二进制直接操作就好;这里我们可以考虑>>按位右移这一操作符,只要从第0位开始,每次按位右移2位,这样就可以在对每一位的0或1操作就好那么现在考虑的就是,进行操作后,数值和以前变化关系,只要对二进制熟悉,进很容易知道,第几位的数字,大小就是2的几次方,假设是第n位,表
本题为12月30日22寒假集训每日一题题解题目来源:(未知)题面题目描述懒羊羊和小灰灰在玩一种棋盘游戏,棋盘的尺寸为n个方格*m个方格。一开始在棋盘的右上角(1,m)放一枚硬币,每次一个人可以将硬币向左、下或左下的方格移动。当某个人无法再移动硬币了,那么这个人就输了。游戏总是懒羊羊先开始,如果他们两个每步都是最优策略,则谁将赢得游戏?输入输入包含多组测试数据。每组输入两个整数n和m(0当n=m=0时,输入结束。输出对于每组输入,如果懒羊羊赢,输出“Wonderful!”,否则输出“Whatapity!”。样例输入Copy53546600样例输出CopyWhatapity!Wonderful!W
本题为12月30日22寒假集训每日一题题解题目来源:(未知)题面题目描述懒羊羊和小灰灰在玩一种棋盘游戏,棋盘的尺寸为n个方格*m个方格。一开始在棋盘的右上角(1,m)放一枚硬币,每次一个人可以将硬币向左、下或左下的方格移动。当某个人无法再移动硬币了,那么这个人就输了。游戏总是懒羊羊先开始,如果他们两个每步都是最优策略,则谁将赢得游戏?输入输入包含多组测试数据。每组输入两个整数n和m(0当n=m=0时,输入结束。输出对于每组输入,如果懒羊羊赢,输出“Wonderful!”,否则输出“Whatapity!”。样例输入Copy53546600样例输出CopyWhatapity!Wonderful!W
Atcoder链接:CoinsLuogu链接:Coins$\scr{\color{BlueViolet}{Solution}}$观察数据,发现$\cal{n}\le3000$,说明$Ο(\cal{n^2})$可过,容易想到DP。用$\cal{dp[i][j]}$表示抛完第$\cal{i}$个硬币时,有$\cal{j}$个硬币正面朝上的概率。 考虑$\cal{dp[i][j]}$如何转移,易发现有以下两种情况,(当前正面朝上概率为$\cal{p_i}$):本次抛得硬币是正面:抛到正面概率乘抛完第$\cal{i-1}$个硬币后,有$j-1$个硬币朝上的概率。本次抛得硬币是反面:抛到反面概率乘抛完第