摘要:
Unicode字符集和UTF系列编码 Unicode是一个标准,他为每个字符规定了编号。 UTF系列编码是对Unicode标准规定的编号进行编码,以便于传输或者存储。 16位存不下Unicode所有字符。只是中文都可以直接用UTF 16编码用2字节表示。 _UNICODE宏的作用 主要是方便程序员维 阅读全文
摘要:
D. Pair Of Lines 题目大意: 给$n$个点,问是否存在两条直线(可以为同一条)能覆盖所有的点。 解题思路: 首先一个或者两个或者三个点都是肯定可以用两条线覆盖的。 如果点的个数大于等于三个,那么我们已经可以确定至少一条线的: 点1和点2可能在一条线上,点2和点3可能在一条线上,点3和 阅读全文
摘要:
题目链接请戳 "这里" 解题思路 设$dp[i][j]$为$s1[1..i]$作为$s2[1..j]$子串的个数。 这样我们可以写出状态转移方程$$dp[i][j]=\begin{cases} dp[i 1][j 1]+dp[i][j 1] & \text{$s1[i]=s2[j]$} \\ dp[ 阅读全文
摘要:
题目链接请戳 "这里" 解题思路 设$dp[i][j]$表示区间$[i,j]$的最小伤害。 每次决策,枚举最后杀掉的狼,则转移方程为: $$dp[i][j]=min\{dp[i][k 1]+dp[k+1][j]+b[i 1]+a[k]+b[j+1]\}$$ 其中对$dp$数组的初始化:$$dp[i] 阅读全文
摘要:
题目链接请戳 这里 解题思路 带权DAG上的最大权和路。 可以先对每个木块的三个维度排序方便后续处理。 (思路来自紫书) dp[i][j]表示以第i个木块为底,j=0/1/2时以长/宽/高 为高,时能组成的最高高度。 代码 阅读全文
摘要:
题目链接请戳 这里 解题思路 DAG上的动态规划。现对n个维度排序(感觉有维度的,先排序排序就行了 代码 阅读全文
摘要:
题目链接请戳 这里 解题思路 先用Floyed算出最短路。 枚举任意点对,得到最短路上的所有点。去掉连接同一层次点的边就好了。 代码 阅读全文
摘要:
题目连接请戳 这里 解题思路 比较容易想到的思路是开辟另一数组记录每个成员对应的敌人。 之后想明白每个团体只和一个团体敌对就行了。 代码 阅读全文