算法
文章平均质量分 84
ACM败犬
这个作者很懒,什么都没留下…
展开
-
洛谷P3157:动态逆序对(树状数组套主席树)
题目大意:对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。做法很简单:在加入序列的时候就可以先算出总的逆序对,然后每删一个就扣掉这个数的贡献。因为要删除数字求贡献,线段树是搞不了的,必须要用主席树,而且要用套带修改的主席树。删除贡献:只需要计算这个...原创 2019-04-21 23:24:50 · 231 阅读 · 0 评论 -
1151_DIV2:C. Problem for Nazar(数学)
题目大意:有奇数和偶数两个无穷大的集合,奇数集合是{1,3,5,7…},偶数集合是{2,4,6,8…},先从奇数取1个,然后从偶数取2个,再在奇数取4个…,每次取都取前面的数量的两倍,在两个集合交替取,然后将取出来的数构成一个新的无穷大的集合 {1,2,4,3,5,7,9,6,8,10,12…}。问在新的集合中,第 l 到 第r个的数字的和是多少?(对1e9 + 7取模)做法:其实是一道数学模...原创 2019-04-26 10:58:31 · 171 阅读 · 0 评论 -
codeforce:1151_DIV2(round 553) 解题报告(A->D)
A:题意:将串的字符增1或减1变换使得“ACTG"是原串的子串。问最小的变换次数(‘A’ 减 1得到’Z‘)解法:直接暴力,枚举每一个字符作为起点的连续四个字符变成ACTG要几步,然后取最小值就行。B:题意:给一个m,n的矩阵,问能不能每行都选一个元素,使得最后的异或和大于0,输出选数的方案。解法:构造(标签贴了个DP,被干扰了,往DP方向想了半天觉得实在是没解去看了题解。。。)先构造...原创 2019-04-26 11:09:42 · 426 阅读 · 0 评论 -
codeforce round 554 div2 解题报告 (A -> D)
A. Neko Finds Grapes题目大意:两个序列a,b。选出ai,bj进行匹配,要求ai + bj 是奇数,每个数字只能匹配一次,被匹配一次,求最大的匹配对数,解法:扫描两个序列即可,答案是唯一的,记下扫描a序列的奇数的个数和偶数个数,扫描b的时候直接得出答案。B. Neko Performs Cat Furrier Transform题目大意:给一个数字 x,有两种操作,A操作...原创 2019-04-26 20:07:29 · 145 阅读 · 0 评论 -
1144 DIV3:G - Two Merged Sequences(贪心 or dp +思维)
1144 DIV3:G - Two Merged Sequences(贪心 or dp +思维)积累思维。题目大意:给一个序列,让你从中在不破坏原顺序的情况挑出一些数来,使得这个序列分成两份,第一份是严格递增,第二份严格递减。若有解 第一行输出YES第二行,若一个元素你将他放在递增序列内,则输出1,否则输出0。若无解,输出NO思路历程:一个序列要按原顺序分成一份递增,另一份递减,不难想...原创 2019-04-17 20:18:33 · 159 阅读 · 0 评论 -
ZOJ:Element Swapping(数学推导)
题目大意:有一个数组,被一个人交换了两个值,而原主人又忘了数组的样子,但是原主人记得两个值:以及现在数组,问你有几种交换的可能?(可能交换了哪两个数字?)设现在的数组的 Xi = i * ai + j * aj + “…” ,Yi = i * ai ^ 2 + j * aj ^ 2 + “…”原数组的 X = i * aj + j * ai + “…”, Y = i * aj ^ 2 ...原创 2019-04-28 12:23:56 · 214 阅读 · 0 评论 -
gym 101669 A : Concerts (dp)
题目大意:有一个人想按顺序参加K个乐队的演唱会,然后得知最近n天每天有一场演唱会,但由于有的乐队演唱会门票价较高,他参加完这乐队的演唱会之后就必须休息a天之后再参加后面的演唱会。现给出它想参加的K个乐队的演唱会的顺序,以及最近n天的演唱会(乐队用大写字母’A’ - ‘Z’ 表示),问他有多少种方案参加完这K场演唱会?问题可以转化为在一个字符串中求有多少种不同的子串K,不要求连续,但有的字母要求间...原创 2019-05-30 21:29:46 · 282 阅读 · 0 评论 -
Codeforces Round #558 (Div. 2) C:Power Transmission(直线映射)
题目大意:平面图上有n个点,现在任意两个点间连一条直线,问相交的直线有多少对?分析:注意是直线,直线只要不平行就是相交的,于是想到总答案 扣去 平行线的贡献,要求总答案就要求线的条数,因为直线可能重叠。由y = k * x + b可知,只要确定k和b,就可以唯一确定一条直线,对每一个k开一个桶,把不重复的b放到桶内,就可以计算得到不重叠的总线数量和平行的线数量,答案就很好求了。但k 和b均可能是...原创 2019-05-30 22:28:02 · 116 阅读 · 0 评论 -
Codeforces Round #559 (Div. 2) : E - Permutation recovery (思维,dfs)
题目大一:有一个n个元素的排列,但这个排列只给出每一个元素的next[i], next[i]表示的是 第一个下标大于i且值大于i的元素的下标,如果后面不存在比它大的数,则next[i] = n + 1,现在这个序列丢失了一部分,丢失的值的next[i] 定义为 -1 ,问你能不能复原这个序列,使得它满足现在还保留的的next[i],并且合法。分析:明显是一道构造算法,常规思路:假设没有-1的情况...原创 2019-05-31 09:25:27 · 218 阅读 · 0 评论 -
Codeforces Round #562 (Div. 2) : C. Increasing by Modulo (二分答案 + 贪心check)
题目大意:初始时有一个长度为n的序列,现在你每次可以选其中任意个数字使他们的值x 变成 (x + 1) % m,现在要你执行多次这个操作,使得这个序列变成非降序的,问最少几次可以实现?分析:执行任意多次是肯定实现的,因为你可以把所有元素变成0。如果执行的次数越多,越可能实现,答案具有单调性,可以二分答案。如何check呢,这里要思考一下,对于当前二分答案x,一般来说要采用最优最贪心的策略使得能在...原创 2019-05-31 16:26:00 · 281 阅读 · 1 评论 -
Codeforces Round #561 (Div. 2):C - A Tale of Two Lands(two pointers)
题目大意:有一个序列a,任取其中两个数字x,y,它们的绝对值分别为xi,yi,则可以构成两个区间,第一个区间是[min(xi,yi),max(xi,yi)],第二个区间是[min(abs(x - y),abs(x + y)),max(abs(x - y),abs(x + y))],现在要你统计满足第二个区间完全覆盖第一个区间的 无需对 x,y数。分析:x,y是任意整数,但负数处理方式和正数完全一...原创 2019-05-31 18:51:58 · 239 阅读 · 0 评论 -
Codeforces Round #561 (Div. 2) E. The LCMs Must be Large (数学 + 构造 + 集合)
题目大意:有n个石头,每个石头上有一个数值,但现在不知道每个石头的数值是多少。玩家A和玩家B在玩一个游戏:每天A会拿n个石头中的s个,B会拿剩下的全部的石头,如果A拿的石头的权值的lcm大于b的lcm,则A赢。已知m天,每天A拿的石头,有没有可能存在A每天都赢的情况?若有输出possible,否则输出impossible分析:先考虑impossible的情况,设第i天 A拿的石头的集合是 Si,...原创 2019-05-31 19:20:27 · 152 阅读 · 0 评论 -
Codeforces Round #561 (Div. 2) : D. Cute Sequences (数学 + 构造)
题目大意:输入一个m,定义一个序列,其中 Xn = Xn - 1 + Xn - 2 + … + X1 + R, 其中 1 <= R <= m。输入a,b,m ,让你构造出以a为第一项,b为最后一项,满足上述要求的序列。1 <= a <= b <= 1e14, 1 <= m <= 1e14。分析:项数不会超超过50项,假设 a = 1, b = 1e14...原创 2019-06-01 09:58:37 · 221 阅读 · 0 评论 -
牛客小白月赛15:J 外挂
题目链接:https://ac.nowcoder.com/acm/contest/917/J题解链接:https://ac.nowcoder.com/discuss/198506?type=101&order=0&pos=11&page=1答案式子转化为:主要是这个多项和的平方的式子:由这个式子可以得到:用线段树搞一下#include<bits/st...原创 2019-06-16 11:57:18 · 348 阅读 · 0 评论 -
新智认知杯:CSL的训练计划(拓扑排序)
众所周知,CSL 是一个负责的集训队队长。为了让集训队的学弟们训练更加饱和,他根据每个人的能力,提出了 m 个题数要求。假如 CSL 认为 yi 比 xi 强,那么如果 xi 做了 a 题,那 CSL 会要求 yi 需要做至少 a+ri×k,其中 ri 是已知的常数。CSL 现在一共有 s 道题目可以分给大家,因为 CSL 马上就要考OS了,所以他不想再出其他题了,请问正整数 k 最大是多少。从...原创 2019-04-01 19:33:10 · 305 阅读 · 0 评论 -
Codeforce Round #515 div3 Boxes Packing
Codeforce Round #515 div3 Boxes Packing题目:Maksim has n objects and m boxes, each box has size exactly k. Objects are numbered from 1 to nn in order from left to right, the size of the i-th object is...原创 2018-10-30 15:47:16 · 207 阅读 · 0 评论 -
HDU3572 :Task Schedule
题目: Our geometry princess XMM has stoped her study in computational geometry to concentrate on her newly opened factory. Her factory has introduced M new machines in order to process the coming N task...原创 2018-11-04 13:00:46 · 262 阅读 · 1 评论 -
POJ1456 贪心算法
A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold by a deadline dx that is measured as an integral number of time units starting from the moment the s...原创 2018-11-14 09:20:14 · 256 阅读 · 0 评论 -
HDU1827:Summer Holiday (最小权点基)
Problem Description:To see a World in a Grain of SandAnd a Heaven in a Wild Flower,Hold Infinity in the palm of your handAnd Eternity in an hour.—— William Blake听说lcy帮大家预定了新马泰7日游,Wiskey真是高兴的夜不能寐...原创 2018-11-23 16:01:54 · 162 阅读 · 0 评论 -
CF1130 D1 D2:Toy Train
Toy Train题目大意:有一辆玩具车和一个环形轨道,轨道有n个站点,玩具车沿着轨道前进,车子从第i站到第i+1站需要花费1s,第n站的下一站是第一站。给出m个搬运任务:把糖果从ai搬运到bi。每次经过一个站点,可以从这个站点搬运一个糖果,但只能搬运一个。车的容量有无限个,且每次可以卸下任意个糖果,装糖果和卸糖果的时间不记。现在问从各个点为起点出发,完成这m个任务的最小时间为多少。一开始题目...原创 2019-03-01 12:34:37 · 297 阅读 · 0 评论 -
CF 1132 problem_C:Painting the Fence(暴力枚举+差分处理)
题意是给出一段长为n的序列,给出q个连续子序列,让你选择其中q-2个子序列,求覆盖的最大范围是多大。一开始想贪心,每次选最长的,然后判断一下覆盖相交的情况。但题目没有要求你覆盖的范围一定是连续的,不要求连续的话子序列选择情况和判断比较复杂,所以贪心思路就直接丢弃了。一看只要选q-2个,2个不选,那就枚举哪两个2不选。然后就被怎么处理卡住了,首先想到用差分算出每一个点被覆盖多少次,然后枚举两个子...原创 2019-03-14 09:18:36 · 217 阅读 · 0 评论 -
CF_div3_1133_problem_E: K Balanced Teams(排序+二分+背包dp)
题目大意:有n个人,每个人有一个权值,现在要求选出k个队伍,每个队伍内部最大权值和最小权值差值不能超过5,问选k出队伍最多包含多少人,队伍不能为空且不能有交集.可以有人不选首先解决第一个问题,可能的队伍情况,枚举每个点i为队伍内最小值或者最大值,则可以得到点i所在的队伍的人数。接下来问题变成,选出k段不相交的区间使得区间长度总和最大。似乎可以贪心或者dp。考虑dp,如果我们前面选的是每个点i是...原创 2019-03-20 08:45:42 · 262 阅读 · 0 评论 -
洛谷 P1345 奶牛的电信:(最小点割的处理)
题目大意:给定一个连通的无向图,问至少要删掉多少个点才能使得两个点s,t不连通。根据最大流最小割定理,我们可以通过求s->t的最大流而获得s->t的最小割,不过这个割是一个边集而不是点集。因此需要将点割转化为边割。抠一个洛谷题解中:interestingLSY 用户的图将每个点分成两个点,一个点是该点的入点(即原图中指向这个点的边现在指向该点),另一个点是该点的出点(即原图中该点...原创 2019-03-17 18:26:35 · 203 阅读 · 0 评论 -
CF 546 div.2 D. Nastya Is Buying Lunch(思维+贪心)
为数不多的纯靠自己想出来的DIV2 D题题意是 给出一个排好的队列,以及m个可交换的操作(u,v) :当u在v的前面时,u和v可直接交换位置问最后一个人(编号Pn)最多可以向前几个位置。在正式解题前想了很多没用的东西,比如多个数可以跟Pn怎么交换时用什么顺序才可以把我们要换的目标换过去,经过一点思考后浅显的得出了一个结论:后面能交换的就先交换,如果先交换后面的,搞不好能按这个顺序一路把目标人...原创 2019-03-13 20:34:48 · 314 阅读 · 2 评论 -
CF_1140_C_playlist:(贪心+sort+优先级队列)
题意:给出n对数字,每对数字形式为ai,bi,定义一个数字对集合的权为该集合中ai的和乘以该集合中bi的最小值。例如选出一组集合,其ai为[5,7,4],bi为[11,14,6]。则权值为(5+7+4)*6=96。问在n对中选出最多k对数作为一个集合,其权值最大为多少。注意到乘的数字是最小的,而括号里的和是可以直接加起来的,可以贪心,先将数字对按bi 从大到小排序,排序的好处就是如果第i个数你是...原创 2019-03-25 20:26:11 · 186 阅读 · 0 评论 -
新智认知杯:CSL的魔法(思维+简单图论)
题目描述:有两个长度为 n 的序列,a0,a1,…,an−1和 b0,b1,…,bn−1。CSL 有一种魔法,每执行一次魔法,可以任意挑选一个序列并任意交换序列中两个元素的位置。CSL 使用若干次魔法,得到最终的序列 a 和 b,并且想要让 a0*b0+a1*b1+…+an−1*bn−1的值最小化。求解 CSL 至少使用多少次魔法,能够达到最小化的目标。贪心:大配小,可以得到最小。要大配小,就...原创 2019-04-01 09:25:12 · 602 阅读 · 3 评论 -
2019 湘潭CCPC :Chika and Friendly Pairs(莫队 + 树状数组)
题目描述:大意是有一个序列,然后问你[L,R]区间内 ,满足 i < j 并且ai 和 aj 的差值不超过K的 数字对有多少对。数据范围是1 <= n,m <= 27000 , 1 <= k <= 10^9 。当时比赛写了一发主席树,最后15秒调出来交了T了。正解是莫队,学了莫队后就来把这题补了。对于区间[L,R]的答案,容易发现可以暴力套线段树或树状数组之...原创 2019-06-28 21:25:26 · 241 阅读 · 0 评论