05 2018 档案
摘要:题目链接 "luogu P2619 [国家集训队2]Tree I" 题解 普通思路就不说了二分增量,生成树check 说一下坑点 二分时,若黑白边权有相同,因为权值相同优先选白边,若在最有增量时出现黑白等权边则更新出 和 = 最小值等价,那么不会更新到 = 情况, 因为等价,那么处理时只需看做把等价
阅读全文
摘要:题目链接 "bzoj4033: [HAOI2015]树上染色" 题解 对与每条边贡献dp,树形背包 然后开始写成了每条边对于子树的贡献,然后写挂了别的地方,然后lg上莫名其妙的过了许多别的点 然后发现似乎神奇的性质...有空出道题2333 bzoj有些卡常数 代码 c++ include inclu
阅读全文
摘要:先咕着 2018 5 22 题解 生成函数处理整数拆分 code c++ include include include inline int raed() { int x = 0,f = 1; char c = getchar(); while(c = '0')x = x 10 + c '0',c
阅读全文
摘要:题目链接 "bzoj2879: [Noi2012]美食节" 题解 除了数据范围和修车一样 对于没人没个要求拆点间图 增光一条后更改下次增广费用 然后要返向啊,不然就T了,好坑啊 然后在西校写代码在东校调试,代码格式好鬼畜啊 代码 c++ include include include include
阅读全文
摘要:题目链接 "bzoj1296: [SCOI2009]粉刷匠" 题解 对于每一行的每种消耗dp 抽离装态,进行整体容量的背包dp 刚开始写的把每种状态全抽了一起背包...然后对于每行选取了好多状态...然后GG惹... 代码 c++ include include include inline int
阅读全文
摘要:题目链接 "luogu P2254 [NOI2005]瑰丽华尔兹" 题解 为什么我我我不放放放bzoj的链接呢? 因为打的暴力啊,然后bzojT了呀QAQQQQQ(逃 然后luogu竟然过了呀呀呀 dp[i][j][k]表示第k段时间结束时,你在第(i,j)位置的最长距离quqqqq 代码 c++
阅读全文
摘要:题面 先粘上gouzhi的题面 题解 处理出置换中的所有轮换,瞎jb打就OK了 代码 c++ include include include const int maxn = 500007; using std::vector; inline int read() { int x = 0; char
阅读全文
摘要:题面 先粘上gouzhi的题面,听说是thupc的题 【问题背景】 情人节要到了,zhx 要给女朋友买礼物。 【问题描述】 橱窗里摆放了 n 种不同的玩偶,购买第 i 种玩偶需要价格 a[i],价值为 b[i], 可以最多购买 c[i]个。 zhx 有很多问题,每一个问题是(d, e),他想问,在不
阅读全文
摘要:开始T啊,T啊,T啊 以为写的常数大,然后就在卡常 死活卡不过去啊QAQQQQQQ 然后发现自己的复杂度多乘了个logn啊啊啊啊啊 其实吧每组的lca预处理处来就好了啊啊啊啊啊 代码
阅读全文
摘要:题目链接 "bzoj5251: [2018多省省队联测]劈配" 题解 在上一个人匹配完图的基础上,我们可以对每个人的志愿分别匈牙利算法二分图匹配 匹配时,从小到大枚举该人的志愿匹配,复杂度是$O(nC+m)$,然后第一问做完了 第二问$~~我们可以二分答案,匈牙利算法~~$我们暴力枚举在i位置之后的
阅读全文
摘要:题目链接 "bzoj3505: [Cqoi2014]数三角形" 题解 首先n m的网格图点数为 (n + 1) (m + 1) 那么n ++,m++ 所有的方案$C(3,n + m)$减去在同一行的$m C(3,n)$减去在同一列的$n C(3,m)$减去斜着的 枚举两个点,两点间的点数为$gcd(
阅读全文
摘要:题目链接 "vijos1889:天真的因数分解" 题解 同 "bzoj2440: [中山市选2011]完全平方数" 就是改成了求有平方因子数,依旧考虑二分,只是把容斥系数取一下相反数,也就是把莫比乌斯函数求一个反着的 详见上方题解链接 代码
阅读全文
摘要:题目链接 "bzoj2440: [中山市选2011]完全平方数" 题解 大意:求第$k$个无平方因子数。 无平方因子数(Square Free Number),即分解之后所有质因数的次数都为1的数 联想莫比乌斯函数,若$n$是答案,那么有$$k=n \sum_{i=1}^n(1 |\mu(i)|)$
阅读全文
摘要:题目链接 "bzoj2005: [Noi2010]能量采集" 题解 做不动其他的毒瘤组合数学只能来写点水题了QAQQQQ 对于挡住i,j的点数显然是gcd(i,j) 那么就是求 $2 \times \sum_i^n \sum_j^m gcd(i,j) n \times m$ 枚举带约数$p$ 令 $
阅读全文
摘要:题目链接 "bzoj1068: [SCOI2007]压缩" 题解 这道题对于语文不好的我很不友好啊 啥东西啊这是QAQ,题意理解了半天,还是错的QAQQQQ f[i][j][0] i到j中间没有M,f[i][j][1] i到j中有M f[i][j][0] = min(f[i][k][0] + f[k
阅读全文
摘要:题目链接 "bzoj1012: [JSOI2008]最大数maxnumber" 题解 维护一颗长m序列的线段树 瞎打就OK了 听说可以单调栈? luogu数据真是有毒 代码 c++ include include const int maxn = 200007; inline int read()
阅读全文
摘要:题目链接 "bzoj1055: [HAOI2008]玩具取名" 题解 f[l][r][k]表示l r能否合成字母k 由枚举自己可能的分解转移得到 记忆化搜索好写些 代码 c++ include include include inline int read() { int x = 0,f = 1;
阅读全文
摘要:题目链接 "bzoj1011: [HNOI2008]遥远的行星" 题解 ~~emmm玄学误差题~~ 之前有做过一道min_hash的trick题,有空整理一下 (坑 a的上限0.35 $f_i=\sum_{j=1}^{a\times{i}}\frac{m_i\times{m_j}}{i j}$ 暴力
阅读全文
摘要:题目链接 "bzoj1008: [HNOI2008]越狱" 题解 补集转化 变为所有可能 ($m^n$)减去一定越狱可能($m (m 1) ^ {n 1}$) 然后就是一个快速幂了 话说这题学过乘法原理的都会做吧? 取模有毒,WA十数发 代码
阅读全文
摘要:题目链接 "1996: [Hnoi2010]chorus 合唱队" 题解 区间dp 设dp[i][j][0/1] 表示可以构成i到j 0表示上次匹配在左,1表示在右 转移显然 代码 c++ include include define mod 19650827 const int maxn = 10
阅读全文
摘要:题目链接 "bzoj1016: [JSOI2008]最小生成树计数" 题解 每种权值的边的数量是确定的,每种权值的边的作用是确定的 求一遍最小生成树,对于相同权值的边分组 然后对于每一种权值的边搜索,得出每组权值的边选择方案 乘法原理统计答案 代码 c++ include include inlin
阅读全文
posted @ 2018-05-08 15:34
zzzzx
摘要:四边形不等式优化 填坑 简介 在动态规划问题中 我们常遇到这样一类问题,它的dp方程长这样 $$f[i][j] = min \{ f[i][k] + f[k + 1][j]+cost[i][j] \} $$ 这样我们的复杂度一般是$O(n^3)$的 设$a =w(b,c)$则称w关于区间包含关系单调
阅读全文
摘要:题目链接 "bzoj2428: [HAOI2006]均分数据" 题解 模拟退火即可 代码 c++ include include include include const int maxn = 100007; int a[maxn]; double avr,tmpans,ans = 2515656
阅读全文
摘要:题目链接 "bzoj3680: 吊打XXX" 题解 物理题 问题转化为求力的重心 模拟退火即可 代码 c++ include include include include const int maxn = 100007; double x[maxn],y[maxn],w[maxn]; int n;
阅读全文
摘要:留个坑 挺套路的 明天来写个总结 c++ include include inline int read() { int x = 0,f = 1; char c = getchar(); while(c '9') {if(c == ' ') f = 1;c = getchar();} while(c
阅读全文
摘要:题目链接 "bzoj2809: [Apio2012]dispatching" 题解 领导关系形成一棵树,那么答案为$ans=max{L[u]\times k}$,其中k代表以u为根的子树中选出的节点数个数(设这些节点为$v_1,v_2\cdots v_k$且有$\sum_{i=1}^{k}C[v_i
阅读全文
摘要:学了下km算法.... 写了道题 然后一遍过了2333 c++ include include include using namespace std; define INF 0x3f3f3f3f const int maxn = 1007; int kind[maxn][maxn]; int ma
阅读全文
摘要:题解 跳出序构成一颗一n +1为根的树 你需要支持cut,link,以及查询子树大小的操作 lct随便打...... 话说之前是用块状链表水的.... 代码
阅读全文
摘要:solution 被假hash可了半天....sadQAQ code c++ // luogu judger enable o2 include include include include inline int read() { int x = 0,f = 1; char c = getchar
阅读全文
摘要:题目链接 "bzoj1096: [ZJOI2007]仓库建设" 题解 emmmm,dp转移前缀和的构造方法不是和上一个题是一模一样的吗 不对,这不就是和上一个题一样吗,只是转移方程把i换成了x[i].... 详见 "bzoj3437: 小P的牧场" 瞎jb写写就过了 tut 代码 c++ inclu
阅读全文
摘要:题目链接 "bzoj3437: 小P的牧场" 题解 dp转移有点玄学....好神的前缀和呀quq可能当时做时心态不太好 ?QAQ 令$$sum[i]=\sum_{k=1}^{i}b[k],cost[i]=\sum_{k=1}^{i}\{b[k] k\}$$ 得出dp方程 $$dp[i]=\min_{
阅读全文
摘要:题目链接 "bzoj1597: [Usaco2008 Mar]土地购买" 题解 按照x,y降序排序 发现当$ x_i \leq x_j$ 且$ y_i \leq y_j$时,分在同一组的话是可以合并的... 合并之后的序列x不降,y单减 然后dp方程就好写了吧 然后斜率优化一下就可以了吧 QUQ 代
阅读全文
摘要:题目链接 "bzoj3156: 防御准备" 题解 到右侧的花费是不是很不顺眼啊,换成左侧的吧 然后dp方程写一写吧 然后就可以斜率优化一下了吧 然后没啦(大雾,偷一下懒辣 代码
阅读全文

浙公网安备 33010602011771号