上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 先放个链接:https://codeforc.es/contest/1397 中规中矩的一场比赛吧,但没有AK...考场最后一题没过,赛后想想主要原因还是D题意看错,(英文不好),导致打得很慢(同样A4题,有人rk30,我rk400) 写个简单题解吧,重点讲一下C和E A题:送分题,没什么好说的,判 阅读全文
posted @ 2020-09-01 21:02 y_dove 阅读(318) 评论(0) 推荐(1) 编辑
摘要: 自己想了好一会,AC后看了下好像和网上挺多人思路不太一样(但本质是一样的),所以就来写这篇题解 首先这题之所以能反悔的根本原因和性质在于你在第i天买股票,第j天卖出,可以拆成第i天买股票,第k(i <= k <= j)天卖出和第k天买股票,第j天卖出两个过程(I) 我们首先可以从大到小倒序扫描,假设 阅读全文
posted @ 2020-08-25 23:17 y_dove 阅读(196) 评论(0) 推荐(0) 编辑
摘要: (考场时只想到暴力容斥,24分滚了) 题目:https://loj.ac/problem/3340#submit_code DP方程怎么来就不写了,本文重点分析如何用线段树合并及正确性 DP方程为:令dp[u][h]表示u的子树中上端点已经处理好了,下段点在子树中的,上段点最深为h的方案数,特别的, 阅读全文
posted @ 2020-08-21 00:14 y_dove 阅读(376) 评论(0) 推荐(1) 编辑
摘要: 萌新不会PAM于是用manacher+hashO(nlogn)过了这题首先我们有一个结论对于一个长度n的串,它的本质不同的回文子串数量是O(n)的 然后我们先用manacher算出半径r[i]然后开一个数组记录一下最长回文子串在原字符串中哪个位置 我们考虑任意一个>=3的回文子串不论是奇是偶,去掉头 阅读全文
posted @ 2020-08-12 21:07 y_dove 阅读(172) 评论(0) 推荐(1) 编辑
摘要: 题意: 数据范围:n <= 40,ri <= 40,d = 1e5 解析:首先我们可以发现对于一个确定的排列,{p1……pn}令D = Σmax(rpi,rpi+1) ,即放这n个喷泉对于该排列所需得最小空间,方案数就是C(n + d - 1 - D,n); 所以我们可以对于每个D计算方案数,怎么做 阅读全文
posted @ 2020-08-09 20:53 y_dove 阅读(165) 评论(0) 推荐(1) 编辑
摘要: 题意: 简略题意: n <= 1e6,0 <= A[i] <= 1e6 首先有一个很显然的n * A[i]的子集DP,这里就不再赘述 这题的难点在于把数字看成集合,然后求若干个集合并起来为空的方案数,并起来为空很不想,我们可以考虑并起来恰好有0个元素,"恰好"是不是有二次项反演那感觉了?可惜这题限制 阅读全文
posted @ 2020-08-07 22:04 y_dove 阅读(186) 评论(0) 推荐(1) 编辑
摘要: 题意:若一个数n能被表达为n的k个因数的和(因数可重复使用),则称n是k表达数 多组测试数据T,求A~B的k表达数数量 数据范围:A,B<=1e18,T<=5e4,2<=k<=7 解析:这题第一眼看过去极其不可做,我考试时直接放弃 有一个比较显然的性质,如果一个数是k表达数,那么它的倍数一定都是k表 阅读全文
posted @ 2020-08-06 22:02 y_dove 阅读(357) 评论(0) 推荐(1) 编辑
摘要: #include<bits/stdc++.h> using namespace std; int main(){ int T = 1000; int timelimit = 1200; for(int i = 1; i <= T; ++i){ system("data.exe > data.in") 阅读全文
posted @ 2020-08-03 13:08 y_dove 阅读(244) 评论(1) 推荐(0) 编辑
摘要: 题目: n,k<=1e5; 官方题解写的好像是狄利克雷卷积快速幂,可惜太菜了没看出来. 考场想了个比较奇特的方法,考虑枚举ik,即对于每个f(ik)考虑它被计算了多少次 因为ik一定是i的约数,所以可以考虑枚举i的约数 于是问题就被转化为最后一个数给定,前面每个数都是后一个数的倍数的序列有多少个,设 阅读全文
posted @ 2020-08-02 10:08 y_dove 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 看错时间导致错过一场比赛...... 题意,有m种无限多的物品,有两个价值(a[i],b[i]),若选x[i](x[i] >= 1)个,则能获得(a[i] + (x[i] - 1) * b[i])的价值(若不选则价值为0) 求选出n个,使得价值最大.m<=1e5,n,a[i],b[i]<=1e9; 阅读全文
posted @ 2020-07-19 20:10 y_dove 阅读(191) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页