01 2017 档案

[bzoj2190][SDOI2008]仪仗队 ——欧拉函数
摘要:题解 以c点为(0, 0)建立坐标系,可以发现, 当(x,y)!=1,即x,y不互素时,(x,y)点一定会被点(x/n, y/n)遮挡。 所以点(x, y)被看到的充分必要条件是Gcd(x, y) == 1; 我们考察矩阵的下三角形,考察他的每一行,可以发现,这一行能够被看到的点的数目就是$\phi 阅读全文

posted @ 2017-01-25 19:37 蒟蒻konjac 阅读(621) 评论(0) 推荐(1) 编辑

[bzoj2111][ZJOI2010]Perm 排列计数 ——问题转换,建立数学模型
摘要:题目大意 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值。 题解 1) 问题转换,建立模型。 可以发现,本题就是要求小根完全二叉树的个数。 2) 树上dp 定义f[n]为以 阅读全文

posted @ 2017-01-25 19:18 蒟蒻konjac 阅读(421) 评论(0) 推荐(0) 编辑

[bzoj3122][SDOI2013]随机数生成器 ——BSGS,数列
摘要:题目大意 给定递推序列: F[i] = a F[i 1] + b (mod c) 求一个最小的i使得F[i] == t 题解 我们首先要化简这个数列,作为一个学渣,我查阅了一些资料: http://d.g.wanfangdata.com.cn/Periodical_cczl200924107.asp 阅读全文

posted @ 2017-01-25 17:48 蒟蒻konjac 阅读(307) 评论(0) 推荐(0) 编辑

[模板]大步小步算法——BSGS算法
摘要:大步小步算法用于解决:已知A, B, C,求X使得 A^x = B (mod C) 成立。 我们令x = i m j | m = ceil(sqrt(C)), i = [1, m], j = [0, m] 那么原式就变成了: A^(i m) = A^j B 我们先枚举j,把A^j B加入哈希表 然后 阅读全文

posted @ 2017-01-25 09:33 蒟蒻konjac 阅读(4307) 评论(0) 推荐(11) 编辑

[bzoj2726][SDOI2012]任务安排 ——斜率优化,动态规划,二分,代价提前计算
摘要:题解 本题的状态很容易设计: f[i] 为到第i个物件的最小代价。 但是方程不容易设计,因为有“后效性” 有两种方法解决: 1)倒过来设计动态规划,典型的,可以设计这样的方程: dp(i) = min( dp(j) + F(i) (T(i) T(j) + S) ) (i f[i] S F[j] Ti 阅读全文

posted @ 2017-01-24 22:06 蒟蒻konjac 阅读(516) 评论(0) 推荐(4) 编辑

[bzoj4517][SDOI2016]排列计数
摘要:题目大意 计算C(n,m) D(n m) 其中D(x)为错位排列 题目解答 没有什么好说的,注意细节。 代码 include const int P = 1e9+7; const int maxn = 1e7+1; define ll long long int D[maxn+10], fact[m 阅读全文

posted @ 2017-01-24 17:56 蒟蒻konjac 阅读(210) 评论(0) 推荐(0) 编辑

[bzoj1951][SDOI2010]古代猪文
摘要:题目描述: 计算$G^{\sum_{i|n} C(n,i)} \% P$ 题目解答: 为叙述方便起见,我们令sigma()为W 显然W是一个非常大的数,如果暴力直接计算不是明智的选择。 我们这里使用费马小定理: 对于一个素数p: $$a^{p 1} = 1 | (a, p) = 1$$ 对于G^W, 阅读全文

posted @ 2017-01-24 16:53 蒟蒻konjac 阅读(369) 评论(0) 推荐(0) 编辑

[bzoj1057][ZJOI2007]棋盘制作
摘要:本题有多种解法,我选择了单调栈进行解答。 首先进行一个巧妙的问题转换: 将所有i+j为奇数的格子反转, 这样,问题就转换成了求一个最大的0/1子矩阵。 先考虑一维的情况,h[i]表示以i为终点的最长连续0的长度,有h[i]=a[i]==0? h[i 1]+1:0,这样可以O(n)轻松求出。 拓展到高 阅读全文

posted @ 2017-01-22 20:50 蒟蒻konjac 阅读(285) 评论(0) 推荐(0) 编辑

[bzoj1010][HNOI2008]玩具装箱TOY
摘要:一道经典题,题目描述略。 第一写斜率优化,好紧张啊~~~~ 首先就写了一个大暴力: 定义f[i]为已经分配了i个玩具时的最小费用。 方程容易写出: f[i] = f[j] + w[j][i]; 其中$w[j][i] = (sum_i sum_j + i (j+1) l ) ^ 2$ 明显地,这是一个 阅读全文

posted @ 2017-01-22 17:25 蒟蒻konjac 阅读(204) 评论(0) 推荐(0) 编辑

[bzoj2326][HNOI2011]数学作业
摘要:本题是一个典型的使用矩阵优化的题。 本题的特殊之处在于:矩阵是会变化的,而不是固定的。 所以我们要分阶段搞,而不是一下子搞。 容易得出: f[i] = f[i 1] 10 ^ k + i; 其中k由i决定。 变形一下原式: f[i] = f[i 1] 10 ^ k + (i 1) + 1; 容易构建 阅读全文

posted @ 2017-01-21 21:13 蒟蒻konjac 阅读(126) 评论(0) 推荐(0) 编辑

如何使用矩阵乘法加速动态规划——以[SDOI2009]HH去散步为例
摘要:题目描述 摘自 "BZOJ 1875" Description HH有个一成不变的习惯,喜欢饭后百步走。所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离。 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回。 又因为HH是个喜欢变化的人,所以他每天走过的路径都不完全一样,他 阅读全文

posted @ 2017-01-21 16:55 蒟蒻konjac 阅读(822) 评论(1) 推荐(2) 编辑

[bzoj1060][zjoi2007]时态同步
摘要:一个很有意思的树上dp题。 贪心地注意到,对于更靠近根的边使用「技能」是更优的。 所以对于每一课子树而言,我们先使用技能统一「差值」,使得对于每一个节点,他的每一个子节点时间相同。 这样就出现了重叠子问题,引导我们使用递归(dp)。 具体地,我们定义f[i]为对于i,其子树中的节点到它的最长距离。 阅读全文

posted @ 2017-01-20 19:07 蒟蒻konjac 阅读(190) 评论(0) 推荐(0) 编辑

[bzoj1046][HAOI2007]上升序列
摘要:一个有意思的题。 很显然,这是LIS问题的加强版。 对于每一个询问,我们从前到后检查每一个元素,如果f[i] =x那么输出,然后x 。如果x最终为零,那么说明有解。 证明: 首先,由于我们是从前考虑的每一个元素,所以保证了字典序最小。 其次,因为如果对于一个元素i|f[i] x,那么从i后面一定至少 阅读全文

posted @ 2017-01-20 16:54 蒟蒻konjac 阅读(181) 评论(0) 推荐(0) 编辑

[bzoj2748][haoi2012]音量调节
摘要:一个放在普及组都不为过的超级大水题。 一眼就看出来是线性dp, 定义f[i][j]为第i首歌是否可以以音量为j唱。 方程比较简单,略。 dp用刷表法比较方便。 代码: 阅读全文

posted @ 2017-01-20 16:45 蒟蒻konjac 阅读(145) 评论(0) 推荐(0) 编辑

[摸鱼] 配置的tmux的使用攻略!
摘要:o~/.tmux.conf =ctrl b $ 重命名 % 水平切割 " 垂直切割 o 下一个窗口 x 关闭 ctrl u,删除光标当前至行首字符 ctrl a,光标移至行首 Ctrl p 上一条命令 在firefox中ctrl+c+c取词翻译 阅读全文

posted @ 2017-01-20 09:15 蒟蒻konjac 阅读(200) 评论(0) 推荐(0) 编辑

[摸鱼] 配置的vim的使用攻略!
摘要:vim使用攻略 =f 折叠与缩进 开:[^fuck]cc 关:cu 缩进一块使用V选中,按 [Ctrl]V 以列为单位选 za,打开或关闭当前折叠 键入[v选中/y复制/d删除/c更改]+[包括结对符a/不包括i]+[结对符{}()[]等] 以完成对一对结对符的操作。 直接键入数个空格亦可。 操作方 阅读全文

posted @ 2017-01-20 09:13 蒟蒻konjac 阅读(189) 评论(0) 推荐(0) 编辑

[摸鱼] 入手了机械键盘
摘要:今天刚拿到了poker升级版,把键位改了一下,首先把capslock改成了ctrl,这样对于我这种emacs/vim党就非常的友好。。。。。 机械键盘大法好! 顺便记录一下编程方法,留作备用: 1. 按下fn+右ctrl 2. 按下要编程的按键(居然不支持组合键编程!我可能买了假键盘。。。) 3.按 阅读全文

posted @ 2017-01-18 09:21 蒟蒻konjac 阅读(193) 评论(0) 推荐(0) 编辑

[bzoj1195] [hnoi2006] 最短母串
摘要:本题是一个经典的状压dp问题,在紫书中有着加强版的例题。 本题的难度主要体现在:如何输出字符串字典序最小。 为了解决这个问题,我们有两种常用方案: 1) 我们可以采用bfs输出路径的方法,使用+1来输出一条“路径”。但是这种方法编程复杂度比较高。 2) 另外一种方案是记录S[i][j]作为最优的字符 阅读全文

posted @ 2017-01-15 16:41 蒟蒻konjac 阅读(536) 评论(0) 推荐(0) 编辑

[bzoj1087][scoi2005]互不侵犯king
摘要:题目大意 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上 左下右上右下八个方向上附近的各一个格子,共8个格子。 思路 首先,搜索可以放弃,因为这是一个计数问题,正解几乎不可能是搜索。 我们考虑这样一个决策过程:对于每一行,我们决定放哪些格子。这个决 阅读全文

posted @ 2017-01-06 17:35 蒟蒻konjac 阅读(389) 评论(0) 推荐(4) 编辑

[uva12170]Easy Climb
摘要:还是挺难的一个题,看了书上的解析以后还是不会写,后来翻了代码仓库,发现lrj又用了一些玄学的优化技巧。 include include include using namespace std; typedef long long LL; const int maxn = 100 + 5; const 阅读全文

posted @ 2017-01-04 17:54 蒟蒻konjac 阅读(224) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示