Processing math: 100%

随笔分类 -  贪心

摘要:A 略 B 略 C(计数) 题意: 有n个白球排成一行,故有n-1个空隙,我可以给一个空隙对应的两个白球都涂黑。n-1个空隙的一个排列就对应着一个涂黑顺序,定义这个涂黑顺序的价值是“将所有n个球都涂黑的最少步数”。对于n-1的所有排列,我们要求对应价值的和。 n<=1e6 分析: 首先易得最少步数一 阅读全文
posted @ 2018-05-01 16:14 Chellyutaha 阅读(251) 评论(0) 推荐(0) 编辑
摘要:B(two point) 题意: 给出长度为n的非递减数组E[1..n],对于所有三元组(i,j,k),1<=i<j<k<=n且Ek-Ei<=U,我们需要计算出最大的(Ek-Ej)/(Ek-Ei) n<=1e5 分析: 考虑枚举i和k,那么j一定是i+1 容易发现k越靠右值越大,所以k是满足Ek-E 阅读全文
posted @ 2018-04-02 23:04 Chellyutaha 阅读(197) 评论(0) 推荐(0) 编辑
摘要:C(分段) 题意: 分析: 我们分别考虑p=2和p>=3的情况 当p=2的时候,个数明显是[L,R]内完全平方数的个数 当p>=3的时候,我们注意到这样的数字个数是1e6级别的,且a最多也不超过1e6 我们可以对于每个a去枚举对应的p,然后丢到一个set里去重 还有一点要注意的,p=2可能会和p>= 阅读全文
posted @ 2018-04-01 16:52 Chellyutaha 阅读(159) 评论(0) 推荐(0) 编辑
摘要:091E(构造) 题意: 给出n,a,b。你需要构造出一个长度为n的n的排列,其中最长上升子序列的长度为a,最长下降子序列的长度为b。 n,a,,b<=3e5 分析: 我们可以构造出这样的数列,容易发现,a和b能表示出的最大的n是ab,能表示出的最小的n是a+b-1,所以只有a+b-1<=n<=ab 阅读全文
posted @ 2018-03-20 16:02 Chellyutaha 阅读(238) 评论(0) 推荐(0) 编辑
摘要:A 略 B(大数) 题意: 求的奇偶性 其中n<=10^1000 分析: 等价于求$\biggl\lfloor\frac{n}{1}\biggr\rfloor + \biggl\lfloor\frac{n}{2}\biggr\rfloor+\biggl\lfloor\frac{n}{3}\biggr 阅读全文
posted @ 2018-03-13 17:45 Chellyutaha 阅读(123) 评论(0) 推荐(0) 编辑
摘要:补题进度:10/10 A(树形dp) 略 B(dp) 题意: 给出一个n个关键节点的机械手臂,最开始是竖直的,即关键点在二维平面上的坐标分别是(0,0) (0,100) (0,200) (0,300)......,然后我们每次可以选择一个关键节点把它旋转45°(当然它上面的那些点也要跟着旋转) 现在 阅读全文
posted @ 2018-03-01 14:58 Chellyutaha 阅读(127) 评论(0) 推荐(0) 编辑
摘要:补题进度:6/10 A(状压dp) 题意: 有n个数字1,2,...,n,有m个限制(a,b),表示至少要有一个数字a排在数字b的前面 你需要构造出一个含有数字1~n的序列,数字可以重复多次,要求该序列满足所有的m个限制,并且长度最短,你只需要输出最短的长度 n<=18,m<=n(n-1) 分析: 阅读全文
posted @ 2018-03-01 11:35 Chellyutaha 阅读(158) 评论(0) 推荐(0) 编辑
摘要:补题进度:7/11 A(博弈论) 略 B 待填坑 C(贪心) 题意: 一个序列是good的当且仅当相邻两个数字不相同。给出一个长度为n的数列,每个数字是ai。定义一种操作就是把a中某个元素拿到首位去,问最少需要多少次操作才能让数列a变成good的。如果不可行则输出-1。 n<=1000,1<=ai< 阅读全文
posted @ 2018-03-01 10:10 Chellyutaha 阅读(177) 评论(0) 推荐(0) 编辑
摘要:补题进度:9/10 A(多项式) 题意: 在一个长度为n=262144的环上,一个人站在0点上,每一秒钟有12的概率待在原地不动,有14的概率向前走一步,有14概率向后走一步,问t秒后这个人在x点的概率是多少,结果模998244353 阅读全文
posted @ 2018-02-14 21:58 Chellyutaha 阅读(204) 评论(0) 推荐(0) 编辑
摘要:补题进度:8/10 A(计数+BIT) 题意: 给一个长度为n的数组a[],任意选0<=i<=j<n,将a[i]~a[j]从小到大排序,形成新的数组。问有多少个不同的新数组。 N,a[i]<=1000000 分析: 对答案有贡献的ij一定是a[i]不是i~j的最小值,a[j]不是i~j的最大值,于是 阅读全文
posted @ 2018-02-10 23:13 Chellyutaha 阅读(145) 评论(0) 推荐(0) 编辑
摘要:补题进度:8/10 A(组合计数) 题意: 一个人站在数轴原点,每秒有1/4概率向前走一步,1/4概率向后走一步,1/2概率不动,问t秒后在p位置的概率。 t,p<=100000 分析: 枚举不动的个数,于是向前走的个数和向后走的个数都确定了,然后就可组合计数了。 B(平面图k小割) 题意: 给出一 阅读全文
posted @ 2018-02-06 21:55 Chellyutaha 阅读(260) 评论(0) 推荐(0) 编辑
摘要:地址:https://www.nowcoder.com/acm/contest/58#question A(贪心) 略 B(贪心+栈) 略 C(manacher+后缀数组) 分析: 考虑枚举字符串的对称轴在哪 容易发现我们希望从对称轴开始尽可能向两边扩展成为回文串,在不能再扩展的位置就是我们的分割线 阅读全文
posted @ 2018-01-13 17:09 Chellyutaha 阅读(227) 评论(0) 推荐(0) 编辑
摘要:补题进度:10/12 地址:http://codeforces.com/gym/101194 A(签到) 略 B(数位DP) 题意: 定义一个01字符串为good串当且仅当将其奇数位或者偶数位单独拎出来是个回文串。 输出长度为n(<=1e5)的字典序排在第k(<=1e18)位的good串 分析: 很 阅读全文
posted @ 2017-12-09 13:14 Chellyutaha 阅读(958) 评论(0) 推荐(1) 编辑
摘要:题目 https://nanti.jisuanke.com/t/17118 题意 有n个点0,1,2...n-1,对于一个点对(i,j)满足i<j,那么连一条边,边权为i xor j,求0到n-1的最大流,结果取模,n<=1e18 分析 可以写个最大流对数据找规律,但没找出来…… 然后只能取分析了, 阅读全文
posted @ 2017-09-22 22:14 Chellyutaha 阅读(170) 评论(0) 推荐(0) 编辑
摘要:补题进度:5/11 1001(双向BFS) 题意: 给你一个类似移子游戏,给你初始状态和终止状态,问初始状态到终止状态至少要移多少步,如果步数>20就-1 分析: 很明显的BFS了,不过普通的BFS会有4^20个节点,会TLE 这里因为移动方式可逆并且两个状态明确,所以可以双向BFS,在中间汇合就行 阅读全文
posted @ 2017-08-27 16:45 Chellyutaha 阅读(269) 评论(0) 推荐(0) 编辑
摘要:补题进度:9/13 1001 待填坑 1002(数学推导) 题意 有一个按顺序的n个点的k叉树,问每个点子树个数的异或和是多少(n,k<=1e18) 分析 可以先求出最大的d,满足d以上都是满K叉树,最后一层是一些零散的点 然后枚举每一层,每一层的点分为三种,一种是最下面的孩子深度是d+1,一种是部 阅读全文
posted @ 2017-08-16 19:31 Chellyutaha 阅读(402) 评论(0) 推荐(0) 编辑
摘要:补题进度:7/11 1001(模意义下的卷积) 题意: 给出长度<=50000的两个数组A[] B[],保证数组中的值<=50000且A[]中数字两两不同,B[]中数字两两不同 有50000个询问,对于每个询问k,你需要回答有多少对(i,j)满足A[i]%B[j]==k,你只需要回答答案的奇偶性就行 阅读全文
posted @ 2017-08-10 20:23 Chellyutaha 阅读(293) 评论(1) 推荐(1) 编辑
摘要:补题进度:10/11 1001(不等式) 根据题意列不等式,解一解就行了 1002(套路) 题意: 给定一个随机产生的1e6*1e6的矩阵和一个1e3*1e3的矩阵,你要回答这个1e3*1e3的小矩阵出现在大矩阵的哪个位置 分析: 每隔1e3行 1e3列去建立一个check矩阵,看看这个check矩 阅读全文
posted @ 2017-08-06 22:59 Chellyutaha 阅读(224) 评论(0) 推荐(0) 编辑
摘要:补题进度:7/11 1001 待填坑 1002 待填坑 1003(set) 题意: 给定长度为n(n<=5e5)的数组(是n的一个排列)和一个整数k(k<=80),f[l,r]定义为区间[l,r]内的第k大的数,求所有区间的f值的和 分析: 倒过来考虑,考虑每个数a[i]对答案有多少贡献 将n个数字 阅读全文
posted @ 2017-08-06 19:11 Chellyutaha 阅读(268) 评论(0) 推荐(0) 编辑
摘要:题目: https://loj.ac/problem/516 分析: 每次将一个颜色更改为另一个颜色相当于将两个集合合并 然后对于答案的更新,一个点插入到一个集合中,那么可能更新答案的就是其前驱节点或者后继节点 所以直接用set启发式合并就ok了 时间复杂度O(nlog^2n+m) 阅读全文
posted @ 2017-07-05 11:48 Chellyutaha 阅读(279) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示