"传送门" Solution 矩阵乘法新姿势qwq 我们知道当边权为1是我们可以利用矩阵快速幂来方便的求出路径数 那么对于边权很小的时候,我们可以将每个点都拆成若干个点 然后就将边权不为1转化为边权为1了 Code ...
分类:
其他好文 时间:
2018-10-11 18:54:50
阅读次数:
111
"传送门" Solution 题目是最长路,其实是最短路ヽ(ー_ー)ノ 把进入障碍点的边设为1,其他为0。枚举每个点为起点找距离 include include include include include include include define Re register define Ms( ...
分类:
其他好文 时间:
2018-10-11 16:57:22
阅读次数:
108
"传送门" 可以枚举两个点然后计算答案,至于是否合法,就要看可不可以通过移不超过$t$个箱子使得两点连通,也可以看做找一条路径使得路径上的1个数不超过$t$ 所以可以考虑最短路,相邻的点两两连边,如果边的末端是1,那么边权为1,否则为0,再对每个点求单源最短路,注意初始距离为点上的数字(0/1) 最 ...
分类:
其他好文 时间:
2018-10-10 23:58:45
阅读次数:
289
https://www.zybuluo.com/ysner/note/1304855 题面 [戳我][1] 解析 豆子数这么少,肯定状压啊。 于是设$f[x][y][s]$表示到了$(x,y)$这个点,包围豆子情况为$s$的方案数。 枚举一下出发点和最终豆子选取状态即可。 复杂度$O(n^22^d) ...
分类:
其他好文 时间:
2018-10-10 23:49:05
阅读次数:
194
P2657 [SCOI2009]windy数 题目描述 windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? Solution 有先导 $0$ 的数位$dp$ 把此位前有无前导 $ ...
"传送门" Solution 可以发现实际上是把n分为几个循环节,然后找循环节的$lcm$是这次的排数 而$lcm$必然是一些最高次幂的质数的成积,那么就dp求一下所有情况就好了 PS:注意并不是必须要等于n小于n都行,因为可以在后面补1而$lcm$不变 Code cpp include inclu ...
分类:
其他好文 时间:
2018-10-02 20:36:36
阅读次数:
99
一开始用了复杂度看起来对实则常数巨大的线段树+hash……后来发现队列就行…… 把珠子按位置排序,然后用队列维护一段,枚举右端点更新答案即可 cpp include include include using namespace std; const int N=1000005,inf=214748 ...
分类:
其他好文 时间:
2018-10-02 20:14:57
阅读次数:
112
题目链接 "luogu P2657 [SCOI2009]windy数" 题解 我有了一种所有数位dp都能用记忆话搜索水的错觉 代码 ...
传送门 这道题是数位DP的入门题。 什么是数位Dp?简单来说,数位DP就是用于解决在一个给定区间之内,有多少个数满足条件的一种DP。其中数的多少和数的大小无关,而与数的结构有关。我们先计算出来[0,r]中符合条件的数,再计算出[0,l-1]中符合条件的数就可以。 以这道题为例,其实在数位之间DP是很 ...
题目描述 windy有一块矩形土地,被分为 NM 块 11 的小格子。 有的格子含有障碍物。 如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离。 如果从格子A不可以走到格子B,就没有距离。 如果格子X和格子Y有公共边,并且X和Y均不含有障碍物,就可以从X走到Y。 如果wi ...
分类:
其他好文 时间:
2018-08-21 17:16:03
阅读次数:
215