T1 首先设出暴力的$dp$。 $dp[i][j][k][l]$为前$i$个点中有$j$个白点结束方案为奇数,$k$个黑点结束方案为偶数,当前全部的结束方案之和奇偶性为$l$的方案数。 那么可以很简单的转移。 在考虑转移时候的系数。 其实只跟$j,k$是否为0有关系。 那么状态大大化简为: $dp[ ...
分类:
其他好文 时间:
2020-05-02 20:45:11
阅读次数:
54
T1 第一个盲点就是没发现两种颜色的偶数点是完全等效的可以直接在转移的时候一起作为2的指数 所以也没发现choose(k,0)*2^{n-k}=2^{n-[k>0]} 由于没发现第一点写出了4维的dp,完全白给 T2 子任务2咕了,只拿了爆搜分 没有向补集考虑,补集方案也是一个比较好算的形式 两部分 ...
分类:
其他好文 时间:
2020-05-02 20:35:16
阅读次数:
47
dp,我们考虑到,这个其实你只需要按照边权排序,然后直接更新答案就完事了。 如果要求多维递增,那么就是个多维数点问题,查一下最值就可以了。 ...
分类:
其他好文 时间:
2020-05-02 19:26:57
阅读次数:
49
四维显然不能跑,我们直接排序一下,然后三维数点,插入到 kdt,dp 一下即可。 ...
分类:
其他好文 时间:
2020-05-02 18:56:41
阅读次数:
52
首先定义一个状态 $dp_{j,c}$ 表示选了 $j$ 个位置最后一个字符是 $c$。 转移方程是 $dp_{j,c} = \sum dp_{j 1,k} [k \neq c]$ 代表的是长度为 $j$ 的以 $c$ 结尾的方案数… 然后你发现,这个其实可以把 abc 变成 aab 的,所以很显然 ...
分类:
其他好文 时间:
2020-05-02 18:47:34
阅读次数:
99
首先考虑只按颜色分配的当前答案ans,那么最后剩下的果子数在[0,2k-2]之间,如果剩下的果子数在[0,k-1]之间,那么当前的ans就是最终答案,如果剩下的果子数在[k,2k-2]之间,那么最多答案还可以加一,也就是答案有可能是ans+1,下面我们用dp判断有无这种可能性 举个例子: n=1 k ...
分类:
其他好文 时间:
2020-05-02 18:46:39
阅读次数:
94
~~为什么题解的复杂度都带根号啊…迷惑~~ 题意: ~~题目的翻译很清楚。~~ 先把字符串翻转,容易证明答案不变。 我们考虑最优的办法,容易证明,最优解中,如果是非真子集,那么很显然长度是 ~~(算了稍微解释一下,就是如果你多出来的就删掉,保留一个这种递增序列,这样一定最优)~~ ${1,2,3,4 ...
分类:
其他好文 时间:
2020-05-02 18:34:32
阅读次数:
88
题目链接:https://ac.nowcoder.com/acm/contest/5203 题意简化一下就是让我们在数组中找出一组子序列的和为3600的倍数 想法: 我们不妨考虑下 dp 的做法 (但是好像不是官方的正解) 我们设 dp[i] 代表 % 3600 之后结果为 i 的序列的个数 我们考 ...
分类:
其他好文 时间:
2020-05-02 16:46:20
阅读次数:
59
dfs,thread,python3,defaultdict,换根dp Counter,元组map 捕获异常 数组排序翻转切片 bfs accumulate 二维数组读入,math库调用 字符串 counter数组 bisect(lower_bound upper_bound) 列表推导式 dfs, ...
分类:
编程语言 时间:
2020-05-02 14:33:59
阅读次数:
82
题意: n个点m条边的图,起点为1,终点为n,每一条单向边输入格式为: a,b,c //从a点到b点耗时为c 题目问你最多从起点1到终点n能经过多少个不同的点,且总耗时小于等于t 题解: 这道题我原本以为是改一下最短路去做,,,但是想不到怎么写。网上搜了搜,发现是拓扑+dp。 拓扑排序有啥用? 比如 ...
分类:
编程语言 时间:
2020-05-02 12:15:25
阅读次数:
63