数据结构
文章平均质量分 91
佐理慧
默默的学习
展开
-
codeforces D.The Bakery
codeforces D.The Bakery原题连接: http://codeforces.com/contest/834/problem/D对于前n个元素,分成k段,最大价值为dp[n][k]dp[n][k]:记,区间[i,j][i,j]的价值为 V[i][j]V[i][j]则:dp[n][k]=maxi=0n−1(dp[i][k−1]+V[i+1][n])dp[n][k]=\max_{i=0原创 2017-08-01 08:51:18 · 480 阅读 · 0 评论 -
51nod 1964 1964 陵陵曾玩的数论题
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1964强烈建议在阅读时动手设计一下算法流程。会有助于理解。解决此题。必须知道下面T(n)T(n)的增张速度。T(n)=maxk=1n(T(k−1)+T(n−k)+min(k,n−k+1))T(n)=\max_{k=1}^{n}\big(T(k-1)+T(n-k)+min(k原创 2017-12-22 11:36:42 · 850 阅读 · 0 评论 -
SPOJ 1825 Free Tour 2
SPOJ Free Tour 2链接:http://www.spoj.com/problems/FTOUR2/树上分治的经典题目。每次找到这棵树的重心。递归的处理子树。后合并处理整棵树。对于合并的过程。记重心为zztmp[c][i]tmp[c][i]表示不包括cc为根的子树的节点。从zz出发。不超过ii个节点的最远距离。显然有了tmp[][]tmp[][]数组后。合并是非常快的。只需要查表即可。我们原创 2017-11-15 15:19:51 · 433 阅读 · 0 评论 -
51nod 1222 最小公倍数计数
51nod 1222 最小公倍数计数链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1222次题有毒。。。。计算∑i=1n∑j=1i∑t=ji[lcm(j,t)=i]\sum_{i=1}^n\sum_{j=1}^i\sum_{t=j}^i[lcm(j, t)=i]周阁筛:非常经典的周阁筛。F(n)=∑a=1n∑b=a原创 2017-10-31 18:42:26 · 740 阅读 · 1 评论 -
HDU 4343 Interval query
HDU 4343 Interval query题目给定nn个区间(li,ri),1≤i≤n(l_i,r_i),1\leq i\leq nMM次询问。询问在区间[L,R][L,R]上,有多少个互不相交的集合。问题其实意思就是。在时间段[L,R][L,R]上最多可以安排多少互不影响的工作。而这里。每个任务对应一个区间。这些任务需要在这些对应的时间段内进行。同一时间内只可以做一个任务。那么考虑任务安排的贪原创 2017-10-16 21:46:05 · 454 阅读 · 0 评论 -
51nod 1710 复杂度分析2
51nod 1710 复杂度分析2原题链接: https://www.51nod.com/onlineJudge/questionCode.html#problemId=1710¬iceId=352908定义: low(n)low(n)为nn的二进制形式最低位11以及比它更低位的00组成的二进制数。特别的: low(0)=0low(0)=0定义 f(i,j) f(i,j)有:当i>ji>j时原创 2017-10-14 19:28:50 · 517 阅读 · 0 评论 -
51nod 1227 平均最小公倍数
51nod 1227 平均最小公倍数原题链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1227A(n)=1n∑i=1nlcm(i,n)A(n)=\frac{1}{n}\sum_{i=1}^nlcm(i,n)∑k=1nA(k)=∑k=1n1k∑i=1klcm(i,k)=∑k=1n1k∑i=1kkigcd(i,k)=∑k原创 2017-09-20 18:10:55 · 524 阅读 · 0 评论 -
HUD 6044 Limited Permutation
HDU 6044 Limited Permutation原题连接 http://acm.hdu.edu.cn/showproblem.php?pid=6044在开始之前。提供一种加速读取的方法。由于题目输入规模很大。所以建议使用下面代码来读入利用fread()fread()批量读入内存。(下文中代码实现就是使用这个读入)struct Io{ const char l='0'-1;原创 2017-08-23 21:52:42 · 483 阅读 · 0 评论 -
51nod 1593 公园晨跑
51nod 1593 公园晨跑原题链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1593题目中,猴子消耗的能量等于: 两个点的距离加上两个点上 树的高度的2倍 我们可以把环撕开,变为链,因为路径是环上连续的一段。 任何一段都可以映射到序列:1,2,3,4,...n,1,2,3,4,...n1,2,3,4,.原创 2017-07-09 15:17:15 · 965 阅读 · 2 评论 -
51nod 2564 格子染色
题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=2564令AAA为染成白色的集合,BBB为染成黑色的集合 CCC为被惩罚的集合ans=maxA,B(∑k∈Aw(k))+∑k∈Bb(k)−∑k∈CP(i))=∑k=1n(w(k)+b(k))−min(∑k∈Ab(k)+∑k∈Bw(k)+∑k∈CP(i))ans = \ma...原创 2019-05-07 17:36:36 · 450 阅读 · 0 评论