![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm
文章平均质量分 93
wangqianqianya
这个作者很懒,什么都没留下…
展开
-
E. Two Teams
E. Two Teamstheme:n个人排成一行,每个人有一个属性值。先两个教练轮流选队员。每次从中选出属性值最大的人,并选出他左右连续的各k个人出来(如果有的话则出队),直至每个人都成为一对。求每个人最终属于哪个队。1<=n,k<=2e5solution:模拟题。用双向队列模拟。首先预处理出每个位置紧挨着的前后下标,之后按属性从大到小排列,按l=L[l],r=R[r]左右遍...原创 2019-11-19 21:51:00 · 786 阅读 · 0 评论 -
D. Dirty Deeds Done Dirt Cheap
D. Dirty Deeds Done Dirt Cheaptheme:给定n个二元组,所有元素各不相同,且在[1,2n]之间。先要你选出t个二元组,使得满足按a1 b1 a2 b2...at bt写开后满足a1>b1 <a2>b2 <...<at>bt或 a1<b1 >a2<b2 >...> at<bt求最大的...原创 2019-11-19 11:32:39 · 1251 阅读 · 0 评论 -
C. Vasya And Array
C. Vasya And Arraytheme:让你构造一个有n个元素的数组,m个约束条件:1 l r:要求[l,r]之间元素非递减 0 l r:要求[l,r]之间元素不是非递减solution:首先处理1的情况,要求区间非递减,则我们用一个数组Less[i]来标记a[i]是否要<=a[i+1]即满足非递减,这样对于每一个1 l r,将Less[l~r-1]都置为1。接着处理0的...原创 2019-11-17 22:48:10 · 240 阅读 · 0 评论 -
D2. Remove the Substring (hard version)
D2. Remove the Substring (hard version)theme:给定一个串s和它的某个子序列t,现除去s中的一段子串,使得t仍然为s的子序列,问最大能删除多长的子串。|t|<=|s|<=2e5solution:设t中字符分别为t0t1...tn,则最大值肯定在去除s中最右边满足能形成子序列t的t0之前字符、s中最左边满足能形成子序列t的tn之后的字符、...原创 2019-11-13 08:59:44 · 171 阅读 · 0 评论 -
D. AB-string
D. AB-stringtheme:给定一个长度为n的,仅由A、B组成的字符串s,定义一个串t是好的当且仅当t的每一个字符的至少属于一个t的长度>1的回文子串,问s有多少个好的子串?solution:可发现只有这两种情况的串不是好的即:ABBB、BBBA,即一个A/B +多个另一个字符。总的子串为n*(n-1)/2 (除去长度为1的)。对于AABBB,不满足条件的子串个数就是2+3...原创 2019-11-12 10:38:28 · 656 阅读 · 0 评论 -
D. Salary Changing
D. Salary Changingtheme:s元分给n个人,每个人可分的钱数为[li,ri],问分好后,这n个人中钱数中位数最大是多少?保证n为奇数,1≤n<2⋅10^5,1≤s≤2⋅10^14,∑(i=1~n) li≤s.solution:考虑二分。对于中位数为mid,我们只要check()是否有至少n/2+1个人的钱数可以分为>=mid个。采用贪心策略分,对于li&g...原创 2019-11-08 13:32:52 · 197 阅读 · 0 评论 -
Educational Codeforces Round 73 (Rated for Div. 2)
D. Make The Fence Great Againtheme:给定n个元素,每个元素有两个属性,高度ai与加高单位1的费用b[i],现要增加若干个元素的高度,使得任意相邻两元素的高度不同,每个元素可增高多次,问最少花费多少钱?1<=q<=3e5,1<=n<=3e5,sum(n)<=3e5,1<=ai<=bi<=1e9,答案<=1e1...原创 2019-10-29 20:29:00 · 122 阅读 · 0 评论 -
2018icpc焦作
D. Keiichi Tsuchiya the Drift Kingtheme:一辆车的长为b,宽为a,现经过一个内圆半径为r,弧度为d的弯角,车在直道贴着路内道行驶,在弯道始终沿着切线方向行驶。问道路宽度至少为多少才能保证车顺利通过?0<a,b,r<100 ,0<d<180。solution:两种情况。(1)若弧度比较大,车可以完全进入弯道,则考虑左上角刚好与...原创 2019-10-29 12:34:10 · 284 阅读 · 0 评论 -
Codeforces Round #596 (Div. 2)
D. Power Productstheme:给定n个数,从中选出两个数使得ai*aj=x^k,其中x是任整数,求不同取法。2<=n<=1e5,2<=k<=100,1<=ai<=1e5solution:两边开k次方,所以最终就是要找两个数,使得它们的乘积开k次方后为整数。考虑将a分解质因数,写成ai=p1^b1+p2^b2...的形式,并对每个p求出b%...原创 2019-10-28 19:34:57 · 201 阅读 · 0 评论 -
2018icpc南京
A. Adrien and Austintheme:一堆石子,编号从1~n,两个人轮流操作,每次可以取出1~k个编号连续的石子,问先手赢还是后手?1<=n,k<=1e6solution:分析怎样的情况会赢,首先如果k>1则无论n是奇数还是偶数,先手取一次都可以分成两段长度相等的连续的段,这时候无论后手怎么操作,先手再在另一堆做对应的操作即可,所以先手必胜。当k==1时,如...原创 2019-10-17 17:24:15 · 899 阅读 · 0 评论 -
Codeforces Round #592 (Div. 2)
C. The Football Seasontheme:给定n,p,w,d;求出一组x,y,z使得w*x+d*y=p,x+y+z=n,且x,y,z为自然数。1≤n≤10^12,0≤p≤10^17,1≤d<w≤10^5solution:首先可看出这题就是求整数解x,y使得w*x+d*y=p,且x+y<=n,一个方程解两个未知数,枚举。但n很大,p也大,注意到x最大只能取min(n...原创 2019-10-14 18:47:51 · 121 阅读 · 0 评论 -
牛客练习赛53
A、超越学姐爱字符串theme:构造一个长度为n的串,只能由c,y构成,且不能有连续的c,问有多少种构造方法?1<=n<=1e5solution:手算几个就发现是斐波那契数了。这题还可以用dp做,dp[i][0]表示长度为i,最后一个为c的个数,dp[i][1]表示长度为i,最后一个为y的个数。所以dp[i][0]=dp[i-1][1],dp[i][1]=dp[i-1][0]+...原创 2019-10-13 08:58:23 · 143 阅读 · 0 评论 -
编程优化与常见错误
Runtime error一般为数组越界,开大一点或主函数中局部变量数组内存过大,导致栈溢出a[1000][1000],改为全局变量关于浮点数大整数什么要求原样输出问题用string puts,gets等转换成字符输入输出!一行输出多个数的时候行末不能输出多余空格,平台会判成格式错误long long看到题目数据较大就直接用long long(2^63)int 最...原创 2018-06-12 20:46:56 · 308 阅读 · 0 评论 -
牛客赛
小白赛5:A题意: 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关。 给出一个含有k个元素的集合A={a1,a2,a3,...,ak},求区间[L,R]内与A无关的正整数的个数。 保证A内的元素都是素数。1<=L<=R<=10^18,1<=k<=20,2<=ai<=100题解:用相容定理找出有关的数相减#i...原创 2018-07-23 13:50:44 · 186 阅读 · 0 评论 -
博弈:SG函数与SG定理
博弈论:https://blog.csdn.net/luomingjun12315/article/details/4547907解题方法巴什博奕(Bash Game):有一堆n个物品,两人轮流从堆中取物品,每次取 x 个 ( 1 ≤ x ≤ m)。最后取光者为胜。给定n,m问先手胜还是败。 solution:若n%(m+1)==0,则先手必败,否则必胜,因为他总可以把局面控制到m+1...转载 2018-07-29 10:45:11 · 286 阅读 · 0 评论 -
2016湖南acm省赛
/*theme:给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍数。 Input:输入包含不超过 30 组数据。每组数据包含两个整数 n,m (1≤n,m≤10 9). Output:对于每组数据,输出一个整数表示满足条件的数量。*******solution:抓住(a*b)%201...原创 2018-08-28 10:37:46 · 409 阅读 · 0 评论 -
2018湖南"嘉杰杯"ACM省赛
目录I、买一送一H、千万别用树套树F、UseFFTI、买一送一theme:n个商店,标号1~n,每个商店卖标号为ai的商品(不同店可能卖相同商品),给出这些商店间的单向连接关系,求从商店1走到商店i(2<=i<=n),在两不同的店各买一个商品的二元组的不同(x,y)个数f(i)。solution:首先要清楚这是一个图论题。先用临街表存点和边。由题意可知发f(i...原创 2018-09-08 17:05:53 · 1235 阅读 · 0 评论 -
2015沈阳ICPC题解
D:Pagodas(塔) http://acm.hdu.edu.cn/showproblem.php?pid=5512//15ms(1000ms) hdu不能调用__gcd()函数?/*theme:给定n,表示一共要建n个塔(编号从1到n),给出a,b代表最开始有了塔a和塔b两个人轮流建,每次只能建塔i,i=j+k或i=j-k,j,k为已经建成的塔,A先开始,每次选择最优无法...原创 2018-09-07 11:17:41 · 575 阅读 · 0 评论 -
codeforces
codeforces497A:theme:对数组进行某种排序后,最多有多少个元素 现在的数值比之前大? Input:The first line contains a single integer n (1≤n≤10^5) — the length of the array. The second line contains n integers (1≤ai≤109) — the e...原创 2018-09-24 14:54:27 · 163 阅读 · 0 评论 -
算法:DP动态规划典例
HDU2059theme:龟兔赛跑,跑道长度为L,兔子速度为VR,乌龟骑一辆电动车,电动车速度为V1,充满电情况下,电动车能以V1速度骑行C米,没电时乌龟推车速度为V2,开始时为充满电状态,途中有n个充电站a[i](不在起终点),每次充电需要等t秒,乌龟可以选择充还是不充。问乌龟有没有可能赢兔子。solution:将起点与终点也看做充电站,令dp[i]表示从起点出发到第i个充电站所需的最...原创 2018-09-22 13:46:11 · 218 阅读 · 0 评论 -
湖南大学第十四届ACM程序设计新生杯题解
题目:A.AFei loves magicK. The Right-angled TrianglesI.II play with GGG.a+b+c+d=?J:Less taoluB.bearBaby loves sleepingC.Sleepy kaguya A.AFei loves magictheme:(初始必有一个石子),给定n个石子在(0,L...原创 2019-01-06 16:45:41 · 1669 阅读 · 0 评论 -
牛客寒假算法基础集训营(全6次)
目录目录牛客寒假算法基础集训营4E、Applese 涂颜色牛客寒假算法基础集训营1C、小a与星际探索D、小a与黄金街道牛客寒假算法基础集训营5J、迷宫G、酷炫数字牛客寒假算法基础集训营6B、煤气灶D、美食G、区间或和E、海啸牛客寒假算法基础集训营3D、处女座的训练I、处女座的约会牛客寒假算法基础集训营2G、处女...原创 2019-01-26 19:02:32 · 1049 阅读 · 0 评论 -
博弈题解题思路及典例
解题思路与步骤:首先明确,博弈是不公平游戏,跟玩家无关,只与当前所出状态有关,即状态确定,结果也就确定了。 需要明确以下几点:所有的终结点是必败点(即若当前处于必败点,则无论下一步怎么走,都必输无疑) 必败点只能走到必胜点(由上必败点定义可以理解,既然这个点是必败点,说明无论它走到哪一步,下一步再走都胜) 从必胜点操作,一定有一种方法可以到必败点(这点就是利用了博弈的特点推出:所有玩...原创 2019-01-16 22:07:20 · 2217 阅读 · 0 评论 -
牛客oi周赛7
A-小睿睿的等式theme:给定n、k(n%k==0,0<=n<=50000000;A,B>=0)表示开始时有根火柴,问满足摆成A+B=n所使用的火柴数为n/k的等式有几种(B+A=n与A+B=n看作一种),+、=各用两根数字摆法为:solution:枚举。基本思路是用n减去摆n和+、=所用的火柴数得到摆A、B所需个数,然后从0到n/2遍历等式得A,B,找到所需火...原创 2019-02-23 15:30:02 · 230 阅读 · 0 评论 -
2019湖南多校第一场
I、Intergalactic Biddingtheme:n个人在进行拍卖,每个人的出价至少是当前最高价的两倍,给定s,输出出价和为s的这些人的名字,没有则输出0solution:先将这n个人按钱数从大到小排,先找到钱数开始<=s的人,由于“每个人的出价至少是当前最高价的两倍”,可知对于任意一个人i,他的钱比他后面人(钱数小于他)的钱数之和还大。所以要想和达到s,则这个人必须选...原创 2019-03-21 17:14:54 · 182 阅读 · 0 评论 -
2019湖南多校第三场
K、sisth sencetheme:future与peter两人玩纸牌游戏,游戏规则为给两人发相同数目的牌,每轮每人拿出一张牌比大小,future的牌>Peter则future赢,否则peter赢。而future可以提前知道peter出牌顺序,问future应怎么安排出牌顺序能使赢的次数最大?若有多种出牌方案,则输出字典序最大的序列。G、what goes up must co...原创 2019-03-25 13:05:52 · 167 阅读 · 0 评论 -
java大整数用法与排序
import java.math.BigInteger;import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); BigInteger n = sc.next...原创 2019-03-22 12:52:13 · 694 阅读 · 0 评论 -
2019湖南多校第二场
C、Hedwig's Laddertheme:给定以下格子地图,从左上角出发,给定要走的长度n,问有多少种不会走到重复点的走法?solution:就是简单dp,画一个案例好好分析就行了。首先从左上角出发,第一步要么往右要么往下。1)如果第一步往右,则转化为了k=n-1的走法了,n-1的所有走法n都支持,但要注意,对于从x=1出发的点,过程中所到的坐标不会<1,k-n时是从x=0...原创 2019-03-18 22:12:22 · 151 阅读 · 0 评论 -
01字典树解决位运算问题
01字典树能很好求异或最值解决的问题如:求一组数据中异或和最大的两个数。步骤:1、将输入数据按位插入到01字典树中(二叉树)2、遍历每个数x,由贪心,从高位到低位遍历第i位,优先选择第i位与x不同的数(因为是二进制数,后面所有位都为1的值都会小于该位为1,后面位全为0的值)。模板const int MAXN=10005;//待插入数据量int tol; //节点个数...原创 2019-03-31 09:35:11 · 267 阅读 · 0 评论 -
2019西北工业大学程序设计创新实践基地春季选拔赛题解
A、*Chino with Geometrytheme:给定圆心坐标A与半径,给定两点c(x1,0)在y轴上,B(x2,y2);保证BC与圆A相割,如上图,求BD*BE的值。solution:简单的数学几何推理。(一时推不出可以先考虑特殊情况,如BC过A点,则BD*BE=(AB-r)*(AB+r))过A作BC垂线交于点F,设h=AF,连接AB,AD。#include&...原创 2019-04-08 22:14:56 · 370 阅读 · 0 评论 -
KMP与扩展KMP算法
字符串的特征向量next[]:第i(0开始计数)个元素表示从第一个字符到第i个字符首尾最多匹配多少个字符.注意这里是数目,与KMPNext是下标不同。注意是子串匹配例如:字符串abcdaabcab的特征向量是(0,0,0,0,1,1,2,3,1,2)对于每个字符,暴力比较耗时。可看出每个字符的特征值可以由它之前的字符推出:用next[i]表示到第i个字符首尾匹配的字符数。则对于字符i...原创 2019-04-15 22:52:55 · 1402 阅读 · 0 评论 -
线段树
注意线段树编号从rt从1开始,否则0<<1一直为0!!,区间不一定,可以0开始 左右子树区间分别为[l,mid],[mid+1,r],(因为(l+r)>>1为下取整) Lazy[i]表示节点i的左右子树还未更新,但节点i已更新。区间修改时用。因为已经搜到这里了,所以tree[i]与lazy[i]总是同时更新。注意一旦用了lazy,则就算是单点更新也要push_down...原创 2019-04-25 21:33:54 · 167 阅读 · 0 评论 -
19湖南多校第五场
G、Generalized German Quotationtheme:就是简单的括号匹配问题solution:对于一般的()、{}、[]问题可以考虑用+/-1等表示左右括号,则每次判断前缀和是否>=0与最终是否为0即可。但这题<,>都可以作为左括号。括号匹配问题用栈一定能解。将字符串依次入栈:若栈为空,则进栈;若栈顶与该字符为一对,则凑成一对,栈顶出栈,否则字...原创 2019-04-22 21:05:34 · 133 阅读 · 0 评论 -
莫队算法+带修改莫队算法
莫队算法:解决一切区间问题。o(n sqrt(n)).离线一般处理1e4普通莫队算法解决无修改区间查询问题。//A[i]为输入数组//B[i]为每个询问区间//MonAns:区间l,r中不同数的个数,不同的题目求的不同,具体该它//cnt[i]表示区间中数i的个数#include <cstdio>#include <algorithm>using n...原创 2019-04-19 22:55:07 · 456 阅读 · 0 评论 -
字符串哈希
使用自然溢出时数据量不应太大,因为要用到map,(数组不够开ull!),map会自动排序,所以会超时。所以超过5*10^5就别用自然溢出了,找到最大可能值即可。 一般乘以素数p(131,13331,2333等)或最大值,然后%素数1e9+7字符串哈希即将一个字符串转化成一个整数,并保证字符串不同,得到的哈希值不同,这样就可以用来判断一个该字串是否重复出现过。(如果直接把string当做...原创 2019-04-29 11:44:23 · 25493 阅读 · 5 评论 -
2019中山大学程序设计竞赛
hdu6514Monitortheme:给定n*m矩阵,有p个操作:将以(x1,y1),(x2,y2)为左上、右下的矩阵覆盖。之后q次询问:以(x1,y1),(x2,y2)为左上、右下的矩阵是否有全被覆盖?solution:二维前缀和。先由一次前缀和(差分)计算出每个格子被覆盖的次数之和。然后将不为0的值置为1,再进行前缀和就算出每个矩阵区域覆盖总数,与矩阵大小比较即可。#incl...原创 2019-04-20 11:07:28 · 682 阅读 · 0 评论 -
后缀数组与后缀自动机
后缀数组o(nlogn)给定串S,用suffix[i]表示S[i~n],即S的后缀用SA[i]表示将suffix由字典序从小到大排序后,所对应的后缀的开始下标,所以SA[i]为整数数组,下标从0开始.1)倍增算法:O(nlongn)2)DC3算法:O(n)用rank[i]表示suffix[i]在SA中排的位置,也为整数数组。以看出SA与rank数组为互逆关系。height[...原创 2019-05-04 22:56:14 · 397 阅读 · 0 评论 -
19湖南多校第四场
C、Distribution Centertheme:有n条流水线对应n个终点,m个机器,机器位于这n条线之间,可以将正两边的两条线上的货物交换,问最终每个终点可以有多少条线的货物传入?solution:将机器按从小到大排序,则每个机器对应的两条流水线的终点上能传入的货物为这两条线之和。但每个间隔可能有多个机器,而下一次出现的机器直接相加会重复,所以每次记录下遍历时每个间隔的通过值。...原创 2019-04-07 22:17:47 · 141 阅读 · 0 评论 -
拓扑排序判环
拓扑排序过程 在一个有向图中选择一个入度为零的点并且输出,从图(vector建图)中删除这个点和所有以它为尾的边,一直重复上述过程直到不存在没有前驱的顶点。如果此时输出的顶点数小于有向图中的顶点数,说明图中存在环,否则输出的顶点序列是拓扑序列。//二分+拓扑排序(离线计算)#include<cstdio>#include<cstdlib>#include&l...原创 2019-05-15 22:03:14 · 2001 阅读 · 0 评论 -
乘法逆元
乘法逆元作用:在+,-,*运算中求%可以分开对每一项取模再进行运算,但如果表达式中有除法就不行了。这时我们可以求出分母的乘法逆元。如:(9/3)%5=3%5=3,我们可以求出3的逆元2,则(9/3)%5=9*inv(3)%5=9*2%5=3注意:只有a与p互质时才存在乘法逆元.下面是求a在%p下的逆元 :扩展欧几里得法。扩展欧几里得:已知a,b,求ax+by=gcd(a,b)=d中...原创 2019-05-25 13:57:33 · 159 阅读 · 0 评论