随笔分类 - 《HDU练习》
1
摘要:A - Article: 这题看着好做但是挺难的。 dp[i] - 表示打成功了i个字的期望打字数。 dp[i] = dp[i - 1] + 1 * (1 - p) + (dp[i] + 1) * p; 这里并没有考虑x的存档操作,所以如果失败了就要重新打dp[i]的字。 所以就是(dp[i] +
阅读全文
摘要:真的波折。一开始半小时出来一个思路,写了半天的树套树,但是发现题目理解错了。 这题的桥意思是对于当前的图来说,删去这条边是否可以造成两个点不连通(也就是说图可能是不连通的)。 其实这样的情况和我一开始分析的思路也差不多。 我们以竖边来隔开各个部分,可以发现,只有在环上的边删去才不是桥。 那么我们就可
阅读全文
摘要:A:暴力就行 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii;
阅读全文
摘要:比较经典的棋盘模型,但是确实没想到。 首先,对坐标离散化,那么最多就只剩n行,n列。 然后对于每个棋子(x,y)让x行对y列连边,容量为1,代价 = i. 然后考虑s = 0行,e = 0列。 因为我们要从s出发到e。 那么限制就是从i - 1连到i行,i列连到i - 1列。 https://blo
阅读全文
摘要:比赛的时候一直想的主席树,维护的复杂度已经够了,但是插入又不对了。 最后就卡死了。 莫队老是想不到,太菜了。 正解:莫队离线一下询问。我们从左向右维护点的值。 那么加上每个点的代价,查询一下区间内[a[i] - k,a[i] + k]的个数即可。 减去每个点同理,但是因为自己也会被算在内。所以减去的
阅读全文
摘要:这题中间转移一直没想明白,一直卡壳。 状态dp[i][j] - i向下最深距离为j的方案数。 状态设置对了,但是发现,子树一直转移维护的时候,枚举i,j一直当成了i + j + 1的深度了。 但是这个其实是距离,我们需要维护的应该是max(i,j + 1)的深度。这样才能转移。 但是这样还是不好考虑
阅读全文
摘要:Fansblog: 虽然想到了威尔逊定理,但是觉得用不上。 这里有个结论,那就是相邻的质数之间的最大距离 <= 1e5 + 5。 有了这个结论,我们就能暴力找到Q。 然后根据威尔逊定理 (p - 1)! mod p = p - 1。 那么(p - 1) ! = (p - 1) * (p - 2) *
阅读全文
摘要:练完车了,回归了! Longest Subarray: 这题的做法抽象到了极点。还是没有完全看懂。 题解:https://www.cnblogs.com/vege-chicken-rainstar/p/11503606.html 只能写下大致的理解:对于不合法的区间 + 1,合法 - 1 最后满足
阅读全文
摘要:Add More Zero: 题目让我们求最大的k满足,10 ^ k <= 2 ^ m - 1 即求10 ^ k < 2 ^ m 取对数k * lg10 < m * lg2 k < m * lg2 / lg 10 // Author: levil #include<iostream> #includ
阅读全文
摘要:bookshelf: 又又又刷新了我对数学的感觉(痛并快乐着 首先要对题意进行转化: 有gcd(2 ^ x - 1,2 ^ y - 1) = min(2 ^ x - 1,2 ^ y - 1) = 2 ^ gcd(x,y) - 1。 这里证明也比较简单 :我们对2 ^ x - 1,2 ^ y - 1二
阅读全文
摘要:Age of Moyu: 这个题只要看到隐藏的一个线索就可以做了。 因为这里的权值都是1,如果当前有一种方案最短路大于原先的,但是可以增加一种新颜色,这样也不需要加入,因为我们到了u点后,到后面都是需要变成他的后继边里的某一边且只需要花费1的代价。 所以对于大于的方案就可以省去。 但是可能存在多个最
阅读全文
摘要:Character Encoding: https://www.cnblogs.com/zwjzwj/p/14810147.html Parentheses Matrix: 2和4的时候推出来了,没想到还有>6的情况。。 首先,如果行和列都是奇数,那么不管怎么样都构造不出任何一列和一行满足。 如果行
阅读全文
摘要:区间[0,n - 1]选定m个数使得他们的和 = k.(可以重复选择) 考虑隔板法: 将k看成k个1.那么就是在这k个数里面插入m - 1个板子的方案数。 即C(k - 1,m - 1) 为什么k - 1,因为两边不能插,为什么两边不能插了可能导致不是m个数。 然后我们这样插显然不存在值为0的情况,
阅读全文
摘要:这场感觉难了不少。 Rikka with Nash Equilibrium: 一开始打了个表,发现最大值放在每个位置的贡献都一样。 然后就傻傻地找每个位置的组合数规律。。 结果是DP。这真没想到。 首先,很明显,那个纳什平衡数就是n * m。 那么我们从大到小填充矩阵,如果当前用了k个数组成了i,j
阅读全文
摘要:究极折磨折磨。 这题一开始数组开小了导致一直TLE。。 数组大小其实应该开4倍比较稳。 这里很重要的一点就是,这里其实NTT和FTT复杂度都挺够的。 我们看成x = 10的多项式就行了。 但是这里有两个坑,首先,卷积之后的多项式系数可能是多位数,但是答案需要转化成10进制乘积来输出,所以就需要进行进
阅读全文
摘要:折磨折磨折磨。 Problem E. TeaTree: 这题让我重新认识了dsu on tree,现在算是理解了dsu on tree的内核了,一开始做的时候已经在考虑可能是dsu on tree了。但是看了下通过率觉得应该是有技巧的。 结果还真是dsu on tree。当然也可以线段树合并。 这里
阅读全文
摘要:Maximum Multiple: 这题一开始一直想着化简后二分三分,但是不太对。 考虑到因子限制,对原式变形可得$1 = \frac{1}{a} + \frac{1}{b} + \frac{1}{c}$ 然后这个式子只有三种解: 2 4 4 3 3 3 2 3 6 然后取最大的即可。(简单题不应该
阅读全文
摘要:看到题目想了一会感觉就是二分图的方向,但是这个图的建模抽象了好久。 后面我直接对等于1的行列连边,就发现了这样连边是合法的。且需要明白的是交换行的操作实际上是和交换列等价的,所以我们只需要去交换列判断是否成立即可 对于每个行i,我们要找到一列能使他这一行的第i列为1,那么仔细思考之后发现,其实就是找
阅读全文
摘要:蛮经典的带权并查集问题。 一开始向顶上维护从上往下的排名但是wa了,不知道为什么。 后面改成向下维护了。因为对于堆底,它的ans都是0,然后在路径压缩时更新即可。 这里有两个细节,首先路径压缩不会重复去加,因为一次合并之后fa[x]就是堆底了,且堆底的ans = 0,这样之后加的都是0了。 第二就是
阅读全文
1

浙公网安备 33010602011771号