2020暑假冲鸭
我好懒我好懒打完训练赛就瘫着
我好难我好难开学开始补博客:)
shawwwOvO
这个作者很懒,什么都没留下…
展开
-
H - Skyscraper(树状数组、差分、思维、区间加、单点修改)
我是sb^^用区间加、单点操作写的代码只用单点操作H - Skyscraper 题意: 原数组hnh_nhn初始值均为0,给定数组ana_nan是要求达到的值。现在可以选择下标[l,r][l,r][l,r]进行区间+1+1+1的操作。现在有两种操作:1 l r k1\ \ l \ \ r \ \ k1 l r k表示对数组al,al+1,.... ,ar原创 2020-10-08 21:04:22 · 290 阅读 · 0 评论 -
hdu(三)1012 String Distance(子序列自动机、dp)
1012 String DistanceHDU 6774题意:给定两个串S,T。可以在两个串中任意选定位置进行字符的插入或者删除。ST间的距离就是使得两字符串相等的最小操作数。思考:我猜是∣A∣+∣B∣−LCS(A,B)|A|+|B|-LCS(A,B)∣A∣+∣B∣−LCS(A,B),当时好像没做不知道为啥可能我是菜鸡?先来一发再写哦我知道了,后面还有一个q次询问区间把婷婷吓傻了,先来一发我晕了就是这个区间搞死我了无语我想起来为啥没做了我全想起来了...原创 2020-09-25 16:02:02 · 106 阅读 · 0 评论 -
hdu(三)The Oculus(自然溢出,Fibonacci表示)
HDU6768 The Oculus题意:已知任意的数字可以分成斐波那契的序列,好烦我不想讲题意了,比赛时候好像看错了。现在让你找一位错误位,那我们就可以化成已知数字AAA,错误斐波那契序列…我不知道了我先把我写过了的代码贴上吃完饭再说^^LL f[maxn];LL rin(int n) { int tt; LL ans = 0; for (int i = 1; i <= n; i++) { sci(tt); if (tt)ans +原创 2020-09-24 17:35:02 · 125 阅读 · 0 评论 -
hdu多校(三)1004 Tokitsukaze and Multiple(easydp)
1004 Tokitsukaze and Multiple题意:给定序列ana_nan,数字ppp。需要把数列分段,问段内和是p的倍数的最大个数。思路:题意就已经换了一下了,原题这样:问题就转换成了数列分段,有dp味道了。因为题目要求连续。8错8错,前缀和来了。用dp记录当前位置iii的最大个数,问题就在从啥状态转移来?好像可以随便转移,但是有贡献的位置jjj必然是∑k=jiai%p=0\sum_{k=j}^i a_i\%p=0∑k=jiai%p=0的地方。现在剩下的问题就是要找这个位置原创 2020-09-23 19:07:55 · 148 阅读 · 0 评论 -
hdu多校(一)1005 Fibonacci Sum(组合数学、fibo通项公式,二次剩余,数学)
1005 Fibonacci Sum题意:给定N、C(101810^{18}1018)、K(105)(10^5)(105)对于Fibonacci数列进行F0K+FCK+F2CK+...+FNCKF_0^{K}+F_C^{K}+F_{2C}^{K}+...+F_{NC}^{K}F0K+FCK+F2CK+...+FNCK进行mod(109+9)(10^9+9)(109+9)的计算思路:已知Fibonacci数列有个通项公式:Fn=15[(1+52)n−(1−52)n]F_n=\frac{1}{\原创 2020-09-23 10:50:59 · 144 阅读 · 0 评论 -
2020CCPC网络赛-1005Lunch(nim 博弈)
1005 Lunch(nim博弈)1005 Lunch题意:给定n(≤10)n(\le10)n(≤10)个数字li(1≤li≤109)l_i(1\le l_i\le10^9)li(1≤li≤109),两人分别选一个不等于1的数字进行拆分,假定选择的数字为lll,kkk为他的因子,那么可以将他拆分成lk\frac{l}{k}kl个kkk。现在问先手是赢还是输。思路:先后手必胜以及必败问题,感觉很博弈。考虑把拆分的问题转化成拿石子的问题。发现可拆分次数(因子次数和)可以相当于石子的个数。比如27:原创 2020-09-20 18:05:39 · 2190 阅读 · 0 评论 -
hdu多校(一)1009(栈模拟、数学)
1009 Leading RobotsLeading Robots题意:已知机器人v(t)=a∗tv(t)=a*tv(t)=a∗t,现有nnn个机器人,给定机器人的当前位置positionpositionposition,加速度aaa。问经过无限长的时间后,有多少个机器人当过第一位?思路:没啥思路,最后肯定是a最大的机器人排在第一位,把他们画成二维坐标上的线可能会清楚一点。感觉要sort搞一搞,但是到最后都没做出^^。题目大意:给你每个机器人的初始位置和加速度,问你总共有多少个机器人有可能成为一次领原创 2020-09-20 11:04:11 · 128 阅读 · 0 评论 -
hdu多校(一)1004(签到)
1004 Distinct Sub-palindromes(签到)题意:给定长度为nnn的字符串SSS,任务是输出拥有最少不同子回文串个数的SSS的个数思路:一开始以为是dp推序列,组合数学开始了…但是手推一下发现好像就是一个简单签到题先找拥有最少的子回文串的序列n=1n=1n=1:26个字母n=2n=2n=2:26226^2262(aaaaaa有俩:a,aaa,aaa,aa;ababab有俩:a,ba,ba,b)n=3n=3n=3:26326^3263(自己手推一下,发现咋放都可以,不同原创 2020-09-20 11:02:47 · 134 阅读 · 0 评论 -
hdu第一场
hdu多校第一场1004 Distinct Sub-palindromes(签到)1009 Leading Robots2020 Multi-University Training Contest 11004 Distinct Sub-palindromes(签到)题意:给定长度为nnn的字符串SSS,任务是输出拥有最少不同子回文串个数的SSS的个数思路:一开始以为是dp推序列,组合数学开始了…但是手推一下发现好像就是一个简单签到题先找拥有最少的子回文串的序列n=1n=1n=1:26个字母原创 2020-09-20 11:01:52 · 148 阅读 · 0 评论 -
差分
差分及模板题基础思想两个模板题增减序列Tallest Cow基础思想两个模板题增减序列ACwing 增减序列注意:对应i=1i=1i=1的情况,不计入正负计数LL a[maxn],b[maxn];int main () { int n; cin>>n; LL pos=0,neg=0; for(int i=1;i<=n;i++){ cin>>a[i]; if(i==1)b[i]=a[i];原创 2020-07-11 22:57:46 · 184 阅读 · 0 评论 -
POJ 1845 sumdiv(分治、二分递归、快速幂、数论约束和公式)
POJ 1845解题思路如下:注意点小心多组输入不要太轻易相信板子。我的快速幂重载居然错了。无语无语记得清零LL p[maxn],k[maxn],modd=9901;LL sum(LL p,LL k){ if(k==0)return 1; if(k%2){ return (sum(p,k/2)*(1+qpow(p,k/2+1)))%modd; }else return (sum(p,k/2-1)*(1+qpow(p,k/2+1))+qpow(p,k原创 2020-07-10 00:39:54 · 116 阅读 · 0 评论 -
DAY2(链式前向星、trie遗留问题、DP)
开启自闭模式链式前向星存图与加边dfs遍历POJ 3764 The xor-longest PathNikitosh 和异或 LibreOJ - 10051链式前向星存图与加边int Head[N], Edge[N*2], Leng[N*2], Next[N*2], num;void add(int x, int y, int z) { Edge[++tot] = y; Leng[tot] = z; Next[tot] = Head[x]; Head[x] = tot;}int main原创 2020-07-04 16:36:41 · 139 阅读 · 0 评论 -
暑假训练DAY1(摸鱼trie)
今天不小心溜出去了...晚上先复健一哈trie模板:拨号trie快速插入、查找模板:int n,m;int trie[maxn][30],tot=1;int en[maxn];string sn;void inser(string s){//trie插入 int ch,len=s.length(),p=1; for(int i=0;i<len;i++){ ch=s[i]-'a'; if(trie[p][ch]==0)trie[p][ch]原创 2020-07-03 23:25:14 · 168 阅读 · 0 评论