HDU
Self-Discipline
在校大学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu1028
题目:点击打开链接题意: 给定整数n,求n有多少种划分方式。(对于4来说,1+3和3+1是同一种划分方式)分析:以前是用dp做的,现在发现可以用母函数来做,对于整数n,可令G(x)=(1+x+x^2+x^3+...+x^n)(1+x^2+x^4+...)(1+x^3+x^6...)...,1+x+x^2+x^3+...+x^n的第i位x^i表示1取i次的情况,(1+x^2+x^4+...)...原创 2018-08-19 20:07:11 · 561 阅读 · 0 评论 -
NTT多项式乘法模板(HUD 1402)
FFT虽然能快速处理卷积,但是它也有很大的弊端。精度问题有时会导致一些错误。而且,有许多题目涉及了取模,比如 998244353,复数域下的 DFT精度更是暴露无遗。于是考虑是否有模意义下的这种算法。于是,便出现了快速数论变换(Fast Number−Theoretic Transform, FNT)。NTT和FFT基本上一样,只不过用原根代替了复数根。参考博客:https://www.c...原创 2018-08-29 20:48:28 · 1418 阅读 · 0 评论 -
FFT多项式乘法模板(HDU1402)
这几天学了下FFT,入门推荐算法导论第三十章,话不多说,上板子。递归版:#pragma GCC optimize(2)#pragma GCC optimize(3)#pragma GCC optimize(4)#pragma comment(linker, "/STACK:102400000,102400000")#include<unordered_map>#in...原创 2018-08-29 14:50:16 · 365 阅读 · 0 评论 -
HDU 6430 TeaTree
题目:点击打开链接题意:给出一颗树,给出每个点的val,要求输出树上所有点的最大价值,最大价值定义为 ans[X]=max(gcd(val[i],vaj[j])) i,j 满足 lca(i,j) = X。分析:把子树的因子压到bitset,假如存在因子n,那么bitset的第n位为1,如果要求两个子树之间节点的最大gcd,那么就是要找最大的因子,两个子树的bitset与一下找最大的1的位置...原创 2018-08-24 13:14:02 · 365 阅读 · 0 评论 -
hdu 6432 Cyclic
题目:点击打开链接题意:(题目描述有点问题,导致看了半天)给你一个n,1-n个数排列成环要求后一个不能刚好比前一个大一(不能包含有 [i, i + 1] 或 [n, 1] 这样的子串),问你有多少种排列方式。分析:之前都不知道有环排列这个东西,学到了,环排列,顾名思义,一个排列首尾相连成环,长度为n的环排列个数为(n-1)!,因为一个正常的排列对应n个环排列。又是容斥啊,发现容斥还是有套路...原创 2018-08-23 22:47:46 · 296 阅读 · 2 评论 -
hdu 6299 Balanced Sequence
题目:点击打开链接题意:给你n个串,让你重新排列组合这n个串(每个串内部顺序不变),使得匹配的括号长度最大。分析:贪心好题,先把每个括号序列用栈来使得中间的都括号都匹配,使得右括号都在左边,左括号都在右边然后排序,我们先把右括号小于等于左括号的排在前面,然后对于右括号小于等于左括号的情况,我们按右括号从小到大排序(因为最左边的右括号都是被浪费掉的,浪费的越小越好),然后把右括号大于左括号的...原创 2018-08-23 21:29:26 · 242 阅读 · 0 评论 -
HDU 6435 CSGO
题目:点击打开链接题意:有n个主武器,m个副武器,(n < 1e5,m < 1e5)每个武器有个主属性S和一个 K(K < 5)个副属性,现在要求以下值最大 分析:对应两个属性值绝对值之差,|a-b|=a-b或者b-a,k小于等于5,所以两个武器的和的可能情况最多是2的k次方,32种情况。每一种状态,取n个主武器,属性和与s之和,中的最大值,与对应状态的m个副武器,属性和...原创 2018-08-23 10:27:47 · 274 阅读 · 0 评论 -
HDU 6441 Find Integer
题目:点击打开链接题意:已知a^n+b^n=c^n,给出n和a,求b,c,如果无解输出−1 −1。 分析:必须scanf才能过,时间卡的比较紧。费马大定理 1. a^n+b^n=c^n,n>2时无解。 2. 当a为奇数时, a=2⋅k+1c=k^2+(k+1)^2b=c−1当 a 为偶数a=2∗k+2c=1+(k+1)^2b=c−2手动列个方程...原创 2018-08-26 20:38:47 · 233 阅读 · 0 评论 -
HDU 6438 Buy and Resell
题目:点击打开链接题意:给出 n ,表示 n 天。给出 n 个数,a[i] 表示第 i 天,物品的价格是多少。每天可以选择买一个物品,或者卖一个已有物品,也可以什么都不做,问最后最大能赚多少钱,最少操作次数是多少?分析:贪心好题!cf原题(CodeForces - 867E),对每一个元素产生的贡献可以先计算出暂时的最优值,注意是暂时的最优,应为后面可以出现更加优的答案,所有下次遇到更优的...原创 2018-08-26 19:56:56 · 304 阅读 · 0 评论 -
HDU 1398
题目:点击打开链接题意: 硬币种类有1^2,2^2,3^2,4^2...17^2,这几种;输入n;求出能够组合成n的组合有多少种。分析:可以用完全背包做,也可以用母函数来做,构造母函数G(x)=(1+x+x^2+x^3.....)(1+x^4+x^8+...)(1+x^9+x^18+.....).....,最后所得多项式x^n的系数即时答案。代码:#pragma commen...原创 2018-08-19 20:31:05 · 421 阅读 · 0 评论 -
hdu 6336 Problem E. Matrix from Arrays
题目:点击打开链接题意:给你一个长度为l的a数组,然后按题目所给代码构造m矩阵,q次询问,每次查询给出左上角(l,r)和右下角(ll,rr),求m数组中这个矩形里所有数的和。分析:打表也可以发现规律,求2L*2L单位矩阵的二维前缀和。代码:#pragma comment(linker, "/STACK:102400000,102400000")#include<al...原创 2018-08-05 15:07:27 · 191 阅读 · 0 评论 -
HDU 6390 GuGuFishtion
题目:点击打开链接题意: 分析:展开欧拉函数化简得到,我们要处理的就是gcd(a,b)=igcd(a,b)=i时的G(a,b)值G(a,b)值,以及有多少对a,b的gcd为i,G(a,b)=ϕ(i)/i,G(a,b)=ϕ(i)/i,预处理欧拉函数和逆元即可。对于一个数i,在a∈[1,n],b∈[1,m]的范围内,设f[i]为gcd为(i,2i,3i...)的对数,显然 : f[i]=[n/i...原创 2018-08-16 20:20:34 · 325 阅读 · 0 评论 -
hdu 6400 Parentheses Matrix
题目:点击打开链接题意: 给一个只含'('和')'的矩阵,只考虑从行和列上的括号序列,构造一个矩阵使得合法括号序列的总数最多。分析:构造,分类讨论。首先奇数行或奇数列内是不存在合法括号序列的,所以如果n或m是奇数,则最多有n/m个括号序列(即把行/列直接填充为合法序列),需要分析的是偶数行和偶数列的情况。首先贪心一下,起点位于第一行和第一列,所以应该尽量在这些位置填'(',首先想到的是把矩...原创 2018-08-15 23:07:26 · 279 阅读 · 0 评论 -
HDU 6395 sequence
题目:点击打开链接题意: 分析:分块递推,矩阵加速递推,比如p=16,i按照p/(p/i)+1来递增,得到:1,2,3,4,5,6,9,17.滑动的区间中每个数对于p来说除数一样,比如【9,17)这部分对于16来说除数都是1,那么观察如果后面的p/n是个常数,就是赤裸裸的矩阵快速幂了,如果加上p/n,就要利用分块的思想,思路大体是这个思路,但实现起来有很多细节考虑,n与p的大小关系要界...原创 2018-08-14 23:10:16 · 272 阅读 · 0 评论 -
hdu 6396 Swordsman
题目:点击打开链接题意:打小怪兽的题目,主角有k个技能,每个技能有对应的攻击力ai,怪兽有k个防御值bi,k个强化能量ci。只有所有的ai > = bi,这只小怪兽才会被打死。然后主角的技能就会被强化,新的ai = 打死怪兽前的ai + ci。问能打死多少怪兽,并且最后的ai是多少。分析:开k个优先队列。每个队列都满足从小到大那种。首先将所有的怪物加入到第一个队列中。然后对于v[i]&...原创 2018-08-14 20:43:42 · 270 阅读 · 0 评论 -
hdu 6354 E. Everything Has Changed
题目:点击打开链接题意: 给你一个原点在(0,0),半径为R的圆盘以及m个小圆。第i个小圆的原点在(xi,yi),半径为ri。每个小圆可能会与大圆盘相交,现在问你m个小圆将大圆覆盖后的周长并。(题目保证小圆不会相交,且小圆不会完全把大圆覆盖)分析:余弦定理,大大简化运算。代码:#pragma comment(linker, "/STACK:102400000,102400000")...原创 2018-08-06 21:25:21 · 310 阅读 · 0 评论 -
HDU 5446 Unknown Treasure
题目:点击打开链接题意:分析:先使用LucasLucas定理求出对于每个pipi,C(n,m)%piC(n,m)%pi的值。 再使用中国剩余定理对模数和余数求解即可。代码:#pragma comment(linker, "/STACK:102400000,102400000")#include<algorithm>#include<iostream>...原创 2018-08-09 23:46:38 · 187 阅读 · 0 评论 -
HDU 5439 Aggregated Counting
题目:点击打开链接题意:f(n)表示序列中n的最后的位置,求f(f(n))。(哥伦布序列)分析:原序列为1 2 2 3 3 4 4 4 5 5 5 6 6 6 6 7 7 7 7,出现i次的数个数序列也为1 2 2 3 3 4 4 4 5 5 5 6 6 6 6 7 7 7 7,最终发现f(f(n))=1 + (2+3)*2 + (4+5)*3 + (6+7+8)*4 + ... + (.....原创 2018-08-09 21:29:09 · 214 阅读 · 0 评论 -
HDU 6319 Ascending Rating
题目:点击打开链接题意:先给出一个长度为k(k<=n)的序列,和一个递推式,让你先求出整个长度为n的序列,然后对于每个区间都求题目给的式子,其中maxratingi为区间最大值,count为区间上升序列元素个数。对于不同的区间maxratingi和count要重新算。分析:滑动窗口模型,需要使用单调队列,注意要从后往前,不理解可以手动模拟一下。代码:#pragma comme...原创 2018-07-31 19:05:24 · 253 阅读 · 0 评论
分享