题目: 传送门 题意: 定义Nanosoft的 logo 为 四个大小相同的正方形合并成一个大正方形。左上角是红色的,右上角是绿色的,左下角是黄色的,右下角是蓝色的。 例如以下这些都是 以下这些都不是 给你一个n * m的矩阵,这个矩阵由 4 个大写字母 “R” , "G", “Y”, “B” 构成 ...
分类:
其他好文 时间:
2020-02-14 16:46:41
阅读次数:
108
01分数规划 显然可以二分最大比值x,来验证是否可行 记当前比值为x,总战斗值为P与总招募费用为S 则 P - x*S >= 0 设 wi = pi - x*si 即 w1 + w2 + ... + wk >= 0 就转化为选k个节点,它们的w值非负,树上简单地dp一下就可求得 1 #include ...
分类:
Web程序 时间:
2020-02-14 14:30:28
阅读次数:
88
数位DP的算法思想 数位DP放弃了原来数要从1连续枚举到N逐个检查合法性的思想,而是专注于数本身的字符串构成特性 对于每一种限制条件,dp数组都设置了一维表示。比如dp[pos][s1][s2]...[sn].表示在pos位置下,之前限制条件s1 s2 ... sn的状态,当枚举当前pos处的数字i ...
分类:
其他好文 时间:
2020-02-14 12:39:16
阅读次数:
51
前言 首先此篇文章是为低年级的朋友准备的, 不涉及什么深奥的知识 ,~~比如线性规划之类的~~。 仔细看 ,不要以为自己学不会,看不懂,只要你会DP并打过一些题目而且会单调队列优化DP,斜率DP离你就不远了~~~。这篇文章也是在我领悟了斜率DP不久写的,如果本文有什么不严谨的地方,欢迎指出!!! 在 ...
分类:
其他好文 时间:
2020-02-14 11:09:03
阅读次数:
88
"题目" 题意:求一个数组里最短的连续子序列的和大于等于s的长度 题解:可以用动态规划,我就是用动态规划过的,但是确实不是最简单的解法,看了题解最简单的是双指针, 双指针 DP 二者效率都是差不多的。 ...
分类:
其他好文 时间:
2020-02-14 10:45:28
阅读次数:
54
区间dp: 设有N堆石子排成一排,其编号为1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。 例如有4 ...
分类:
其他好文 时间:
2020-02-14 01:19:33
阅读次数:
88
"题面" 看到数据范围这么小,第一眼想到爆搜。 然而这样做的复杂度是 $\mathcal{O}(n! \times n)$ 的,明显会 TLE。 于是考虑状压 DP。 我们设 $dp_{i,j}$ 表示当前走过的集合为 $i$,且停留在 $j$ 号点的最短路径长度。 转移的话可以枚举一个点 $k$, ...
AC自动机+dp(记忆化搜素) https://vjudge.net/problem/UVA-11468 思路:构造出AC自动机后,把所有单词节点标记为禁止,就转化为从0节点走L步不进入任何禁止节点的概率。令dp[i][j]等于在i节点还要走j步不碰到禁忌节点的概率。 #include<iostre ...
分类:
其他好文 时间:
2020-02-14 00:40:05
阅读次数:
97
一、判断一个数字X的i位是不是1
二、把一个数字二进制下的第i位改成1
三、把一个数字二进制下的最靠右的第一个1改成0(去掉) ...
分类:
其他好文 时间:
2020-02-13 23:08:30
阅读次数:
68
嘛,可以发现,,,,,如果要全部走回来 单独一个走一定比多个一起走更优 于是只用考虑一个单独走回来和多个一起走不回来的情况就好了 #include<bits/stdc++.h> #define MAXN 10005 using namespace std; int n,s,k,tot,f[MAXN] ...
分类:
其他好文 时间:
2020-02-13 19:28:26
阅读次数:
68