E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
2020牛客暑期多校训练营
2020牛客暑期多校训练营
(第二场)G. Greater and Greater(bitset优化fft)
题目一个长为n(n=bi思路来源夏老师的submission题解暴力是O(n*m)的,6e9,考虑引入bitset除掉一个64,复杂度就稳了独立考虑a中的每个值,能大于哪些b中的值,也就是将a和b中的值放到一起排序遇到b的值就给bitset上赋上一位,遇到a中的值就令a的答案等于当前的bitset的值这样bitset本质上只会变化m次,赋n次值每次操作数是m/64,总复杂度O(n*m/64)求出这
Code92007
·
2023-10-16 05:47
#
FFT/NTT/FWT/FMT
模拟(暴力/大模拟)
bitset
fft
2020牛客暑期多校训练营
(第二场) 题解
牛客多校,第二场。若有公式图片无法正常显示,请使用梯子访问!A-AllwithPairs题意:给定n个字符串,每一个串前缀和其他串的后缀进行匹配,计算匹配的最大长度的平方和。思路:把每个字符串的后缀都hash了存到map里,然后从每个字符串遍历,从前到后,第i个字符串的第j个点字符,我们得到前缀的hash值是x,ans[i][j]=mp[x],然后跑一遍next数组,求出ans[i][next[j
FTLIKON
·
2023-10-09 08:57
字符串
哈希表
动态规划
算法
hash
2020牛客暑期多校训练营
(第五场)B、D、E、F、I题解及补题
文章目录
2020牛客暑期多校训练营
(第五场)题解及补题比赛过程题解A题意解法代码B题意解法代码C题意解法代码D题意解法代码E题意解法代码F题意解法代码G题意解法代码H题意解法代码I题意解法代码J题意解法代码
hzeroto
·
2023-10-09 08:23
2020牛客组队训练
【模板】异或最小生成树
主要是借用了最小生成树的Boruvka算法的思想:在两个连通块内找到一条最短的路径,连接两个连通块合并成一个连通块那些年我用异或最小生成树做过的题:cf888g
2020牛客暑期多校训练营
(第五场)BGraph
Zaller
·
2023-10-05 22:51
板子
2020牛客暑期多校训练营
(第六场)C题
链接:https://ac.nowcoder.com/acm/contest/5671/C来源:牛客网#pragmawarning(disable:4996)#include#include#include#include#include#include#include#include#defineinf0X3f3f3f3fusingnamespacestd;typedeflonglongll;t
许可可可可
·
2020-09-16 00:40
acm竞赛
2020牛客暑期多校训练营
(第六场)E题
链接:https://ac.nowcoder.com/acm/contest/5671/E来源:牛客网#pragmawarning(disable:4996)#include#include#include#include#include#include#include#include#defineinf0X3f3f3f3fusingnamespacestd;typedeflonglongll;t
许可可可可
·
2020-09-16 00:40
acm竞赛
2020牛客暑期多校训练营
(第五场)题解
文章目录A.PortalB.GraphC.EasyD.DropVoicingE.BogoSortF.DPSG.GreetingsSouvenirH.IntervalI.HardMathProblemK.GitMergeA.Portal给一张nnn个点mmm条边的无向图,边有长度,有kkk个任务,每个任务要去aia_iai捡一个物品送到bib_ibi,你可以开传送门,每个时刻最多只能有两个传送门,你
Hypoc_
·
2020-09-15 21:01
比赛
2020牛客暑期多校训练营
(第六场)题解
文章目录A.AfricanSortB.BinaryVectorC.CombinationofPhysicsandMathsD.DatastructureE.EasyConstructionG.GridColoringH.HarmonyPairsJ.JosephusTransformK.K-BagA.AfricanSort给出一个111~nnn的排列,每次你可以选定一个子序列进行操作,代价为子序列的
Hypoc_
·
2020-09-15 21:01
比赛
【Nowcoder - 5670 C Easy】
2020牛客暑期多校训练营
(第五场)【生成函数、组合数学】
题意若序列AAA、BBB满足∑i=1Kai=N,∑i=1Kbi=M\sum\limits_{i=1}^Ka_i=N,\sum\limits_{i=1}^Kb_i=Mi=1∑Kai=N,i=1∑Kbi=M,则其对答案贡献为P=∏i=1Kmin(ai,bi)P=\prod\limits_{i=1}^K\min(a_i,b_i)P=i=1∏Kmin(ai,bi),问所有满足条件的序列的总贡献是多少?(
Gene_INNOCENT
·
2020-09-12 06:31
#
组合数学
数论
2020牛客第五场
生成函数
母函数
组合数学
【Nowcoder - 5666 H Minimum-cost Flow】
2020牛客暑期多校训练营
(第一场)【最小费用流变形】
题意给定一个nnn个点,mmm条边的有向图,每条边的费用为cic_ici。一共qqq次查询,每次查询给定ui,viu_i,v_iui,vi,表示图中每条边的容量为uivi\displaystyle\frac{u_i}{v_i}viui,询问从111号点到nnn号点,流量为111时的最小花费。(2≤n≤50,1≤m≤100,1≤ci≤105,1≤q≤105,0≤ui≤vi≤109,vi>0)(2\l
Gene_INNOCENT
·
2020-09-12 06:30
网络流
牛客多校训练营第一场
最小费用流变形
2020牛客暑期多校训练营
(第二场)A F G J H
A.AllwithPairs题意:给你n个字符串,f(s,t)f(s,t)f(s,t)代表最大的iii满足s0…i等于tlen-i+1…len。要你求出∑i=1n\sum_{i=1}^n∑i=1n∑j=1n\sum_{j=1}^n∑j=1nf(si,sj)f(si,sj)f(si,sj)2%(998242353)题解:先预处理每个字符串的后缀并把它保存到map中,然后,遍历每个字符串,从后往前遍历
OerUUU
·
2020-08-25 05:53
2020牛客暑期多校训练营
(第一场)H-Minimum-cost Flow
题意:先给出每条边的费用,qqq组询问,问当每条边的流量为u/vu/vu/v时,跑到流量为1的最小费用思路:对于每次询问,总流量为1,每条边容量为u/v。考虑缩放,同时乘以v,则总流量为v,每条边容量为u,这时算出来的总费用除以v即为答案。我们可以在询问之前,预处理得到所有增广路的费用,每次进行一次SPFA算法后,就能得到一条增广路的费用,将其记录于vector中。随后从每个增广路费用从小到大开始
Shmilky
·
2020-08-24 23:01
2020牛客暑期多校训练营
(第三场)E-Two Matchings
题意:分析:根据条件长度为n的序列a由1,2,3...n组成可以得到序列是由基础序列1,2,3...n通过进行两两对调得到,且每个值进行且只进行一次对调。(这里就不仔细证明了,应该……在打这个比赛的人应该都能理解吧)而我们需要得到的就是两个费用最小的串,即最小串和次小串注意,接下来的讨论仅讨论排序后的下标,即如果写着11则指代sort后的数组w中最小的值最小值:首先是最小的值,那很明显,把w数组排
Shmilky
·
2020-08-24 23:01
2020牛客暑期多校训练营
(第六场)解题报告BCEGHK
题目链接:https://ac.nowcoder.com/acm/contest/5671#questionB-BinaryVector看样例可得,答案,只需要求一次2的逆元就够了#includeusingnamespacestd;typedeflonglongLL;constintmod=1e9+7;constintN=2e7+10;LLPOW(LLx,LLy){LLans=1;while(y)
chasing__wind
·
2020-08-24 07:23
构造
dp
牛客多校
2020牛客暑期多校训练营
Fake Maxpooling(二重单调队列)
FakeMaxpooling题目描述输入描述:输出描述:示例1输入342输出38说明题目大意给定一个n*m的矩阵A,A(i,j)=lcm(i,j),求所有A中的所有k*k的子矩阵中元素最大值之和。分析首先考虑暴力求,发现复杂度不太对,虽然说有3s的时间,但是还是会TLE。然而A的表是可以暴力先打出来的O(nmlogn),或者用类埃氏筛法的方式O(nm)。//暴力求解for(inti=1;i1,所以
Zc_Ethan
·
2020-08-22 09:36
2020牛客多校
2020牛客暑期多校训练营
(第二场) Fake Maxpooling
传送门:FakeMaxpooling更好的阅读体验:https://www.cnblogs.com/lilibuxiangtle/p/13295267.html题意:给出矩阵的行数n和列数m,矩阵Aij=lcm(i,j),求每个大小为k*k的子矩阵的最大值的和。题解:如果暴力求解肯定会t,所以要智取。前几天刷蓝书的时候看到这种求区间最值的可以用单调队列,这个题就是用单调队列求解。先横着算一下每个长
只会签到题
·
2020-08-22 04:09
2020牛客暑期多校训练营
(第二场)F.Fake Maxpooling
2020牛客暑期多校训练营
(第二场)F.FakeMaxpooling题目链接题目描述Givenamatrixofsizen×mn\timesmn×mandanintegerk{k}k,whereAi,j
旺 崽
·
2020-08-22 02:12
单调队列
牛客
DFS
2020牛客暑期多校训练营
(第二场)F . Fake Maxpooling (二维单调队列 )
链接:F.FakeMaxpooling题意:给定一个n*m的矩阵矩阵元素的值为lcm(i,j),求每个大小为k*k的子矩阵中的最大值之和。思路:考虑一维求每一行每k个元素的最大值,很容易想到单调队列(滑动窗口),可以维护每个长度为k的区间的最大值,但这里是二维的,其实只要在一维的基础上再对列做单调队列。因为在一维单调队列的基础上,我们已经求得了第i行第j个元素为起点长度为k的区间的最大值,在求整个
stduy_ing
·
2020-08-22 01:18
数论分块与求和计算公式
i}\rfloor\quadf(i)=g(i)+t(i)∗i=1∑n⌊in⌋除求和外其他式子能在O(1)的时间内求出来,然后分块计算即可另一种是使用分块思想一般是枚举约数,按照限制条件按块计算e.g.
2020
lingdie.
·
2020-08-21 00:07
学习
2020牛客暑期多校训练营
(第六场)C——Combination of Physics and Maths
题目链接看图~~~~#includeusingnamespacestd;constintN=300;doubleSum[N][N];intmain(){ios::sync_with_stdio(false);cin.tie(0);intT;cin>>T;while(T--){intn,m;cin>>n>>m;intA;doubletem=0;for(inti=1;i>A;Sum[i][j]=Sum
NGUP_LEE
·
2020-08-20 06:26
牛客2020多校联赛
2020牛客暑期多校训练营
(第七场)B——Mask Allocation
题目链接题目大意:给定n*m哥物品,要求构造出k堆物品,并把这些堆可以任意组合为n堆m个物品或者m堆n个物品,求最小的k以及对应的解决方案样例输入54样例输出44441111题目分析:#include#include#include#includeusingnamespacestd;intmain(){intt;cin>>t;while(t--){intn,m;scanf("%d%d",&n,&m
NGUP_LEE
·
2020-08-20 06:26
牛客2020多校联赛
2020牛客暑期多校训练营
(第六场)B——Binary Vector
题目链接题目太长了,直接找规律把~发现先预处理,打表,每次循环更新一下答案#includeusingnamespacestd;typedeflonglongll;constintN=2e7+5;constllmod=1e9+7;constllinv2=500000004;llpower(lla,llb){returnb?power(a*a%mod,b/2)*(b%2?a:1)%mod:1;}llf
NGUP_LEE
·
2020-08-20 06:26
牛客2020多校联赛
2020牛客暑期多校训练营
(第六场)E——Easy Construction
题目链接题目大意:给出n,k,构造出一个n的全排列P,使得对于1~n中任意的数i,P都存在一个长为i的子区间,其和模n余k。有解输出任意一组,无解输出-1。思路分析:#include#include#includeusingnamespacestd;intmain(){intn,m,k;scanf("%d%d",&n,&k);if((n*(n+1)/2)%n!=k)printf("-1\n");e
NGUP_LEE
·
2020-08-20 06:25
牛客2020多校联赛
2020牛客暑期多校训练营
(第九场)E题 Groundhog Chasing Death
题意计算∏i=ab∏j=cdgcd(xi,yj)\prod_{i=a}^{b}\prod_{j=c}^{d}gcd(x^i,y^j)i=a∏bj=c∏dgcd(xi,yj)0≤a,b,c,d≤3e6,0d)个V,则V对答案的贡献为V∑j=cdmin(cnt1∗i,cnt2∗j)V^{\sum_{j=c}^{d}min(cnt1*i,cnt2*j)}V∑j=cdmin(cnt1∗i,cnt2∗j)暴
禾硕。
·
2020-08-19 07:47
2020牛客多校
2020牛客暑期多校训练营
(第三场)题解
文章目录A.ClamansFishB.ClassicalStringProblemC.OperationLoveD.PointsConstructionProblemE.TwoMatchingsF.FractionConstructionH.SorttheStringsRevisionL.ProblemListheOnlyLovelyProblemA.ClamansFish有nnn个鱼塘,每个鱼塘
Hypoc_
·
2020-08-19 06:11
随笔小结
2020牛客暑期多校训练营
(第九场)
A.Groundhogand2-PowerRepresentation(eval应用)传送门题意:2(2)表示2^2=4,计算给出的表达式eval函数计算表达式值,值得注意的是表达式中需要用**来表示乘方。一行过搞了37分钟,python还是不熟啊print(eval(str(input()).replace('(','**(')))F.GroundhogLookingDowdy(尺取)传送门题意
2018_XWJ
·
2020-08-18 05:17
赛后补题
2020牛客暑期多校训练营
(第六场)
B.BinaryVector传送门题意:随机n个n维01向量,询问这个n个向量线性无关的概率题解:O(n)维护2的幂和2的幂的逆元。#includeusingnamespacestd;typedeflonglongll;constllmod=1e9+7;constintN=2e7+5;llf[N],c[2*N];voidinit(){f[1]=500000004;lla=2,b=f[1];for(
2018_XWJ
·
2020-08-18 05:46
赛后补题
2020牛客暑期多校训练营
(第五场)H.Interval
题目链接思路:固定一个右端点,对于不同左端点的区间与值,最多只有log个不同的值。那我们枚举右端点,算出所有这样的第一次出现不同值的左端点,然后在主席树上更新一下贡献。注意去重。可以搞一个map来辅助实现上述的操作。#pragmaGCCoptimize(2)#pragmaGCCoptimize(3)#includeusingnamespacestd;typedeflonglongLL;consti
pubgoso
·
2020-08-18 01:24
主席树
2020牛客暑期多校训练营
(第三场)G Operating on a Graph 并查集+链表 维护图上染色
操作一个颜色组时:与其相连的所有点所代表的颜色全部消失。对于每个点至多会有一次把相邻的点和自己变成相同颜色的操作,经过该次操作后,就永远和相邻的点同色了。我们开一个链表组,记录第i种颜色所相邻的点(注意这里时点不是颜色)。一次x操作后,把颜色x相邻的点y相邻的点集并变成点x相邻的点集,y所在集合的颜色变为x。然后发现:由于每个点最多进行一次把相邻点变成自己的操作,所有每个点x最多访问与x相连的点个
夕林山寸
·
2020-08-17 21:29
数据结构----并查集
2020多校牛客
【Trie树&分治&异或】
2020牛客暑期多校训练营
(第五场)B - Graph
问题:Graph问题传送门题目大意:给你一个具有nnn个节点,n−1n-1n−1条边的无环图,也可称其为树。你可以执行两种操作,在图中加一条边或删掉一条边,你可以执行任意多次,在整个操作过程中,要保证整个图是连通的,如果出现环的话,要保证整个环上的所有边的异或和为0;求最小异或生成树(其实也可以直接说成是求最小生成树,只不过,在此边权是两个顶点点权的异或值而已)。解题思路:写这个题的时候,完全就可
biu~跃哥冲冲冲
·
2020-08-17 14:23
2020牛客暑期多校训练营
(第八场)I Interesting Computer Game
intfind(inta){if(a==pre[a])returna;returnpre[a]=find(pre[a]);}voidmerge(inta,intb){intx=find(a);inty=find(b);if(x==y){//如果之前已经联通了,现在再加一条边,那么连通块的边数肯定不低于点数了,那么标记一下祖先vis[x]=1;return;}pre[x]=y;if(vis[x])v
柠檬咕咕咕
·
2020-08-17 06:52
2020牛客暑期多校训练营
(第四场)H.Harder Gcd Problem(把1到n分为不互质的数对,找最多的对数)
题目大意:把1到n分为不互质的数对,找最多的对数思路:先从最大的质因数开始找,因为小的比大的更容易匹配,所以贪心的从大的开始找。首先要预处理出所以数的最大质因数。然后根据质因数从大往小找,当质因数大于n/2的时候就找不到配对了。估计是偶数直接配对,如果是奇数讲2*p留出来,这样留到最后,这些数必定有2的公因子。代码:#include#include#include#include#include#
lalalzo
·
2020-08-17 05:06
数学
2020牛客暑期多校训练营
(第十场)
APermutation题意;给一个质数ppp,求一个111~p−1p-1p−1的排列,满足xi+1≡2xi(modp)x_{i+1}≡2x_i(modp)xi+1≡2xi(modp)orororxi+1≡3xi(modp)x_{i+1}≡3x_i(modp)xi+1≡3xi(modp)。从111开始选,能选222的倍数就选2∗x%p2∗x\%p2∗x%p,能选333的倍数就选3∗x%p3∗x\%
邵光亮
·
2020-08-17 02:53
牛客
2020牛客暑期多校训练营
(第九场)题解A、I、F、K、E
AGroundhogand2-PowerRepresentation题目传送门Groundhogand2-PowerRepresentation思路大数,python,直接在计算幂的地方替换python的幂次计算(**),然后用eval函数计算即可ACCodeprint(eval(str(input()).replace('(','**(')))ITheCrime-solvingPlanofGro
Kurihada
·
2020-08-16 23:08
2020牛客多校
2020牛客多校
[
2020牛客暑期多校训练营
第三场] C. Operation Love 计算几何
题目链接:C.OperationLove题意:给你一个大小固定由20个点组成的手掌图形(分为左右手),将这个手掌通过旋转或平移,让你根据20个点的坐标判断该图形为左手还是右手。题解:可以取手掌两侧长度为6和8的两条边的点,由于这两条边的长度是独一无二的,所以我们可以遍历20个点找到长度为6和8两条边的端点(共四个)。此时虽然找到这四个点,但我们并不清楚长度为6的点对应的是这个边的1端点还是2端点(
张小生的先生
·
2020-08-15 17:32
计算几何
Operation Love(维护凸包/多边形面积判断顺时针逆时针)
2020牛客暑期多校训练营
(第三场)
题意:一个手掌图形,可以旋转平移,但不会改变大小形状。求这个手掌是左手还是右手思路:sb了很久。其实判断是顺时针还是逆时针,然后看出现8,9还是出现9,8。一开始在想用凸包维护角度,看上面两个角度区间,但是不熟悉板子,所以没搞好。其实根据叉积性质,用求多边形面积方法,看正负就可以判断是顺时针还是逆时针。用面积正负代表顺时针逆时针#include#include#include#includeusi
tomjobs
·
2020-08-15 15:29
#
计算几何
2020牛客暑期多校训练营
(第三场)C.Operation Love(计算几何) 题解
题意:按顺时针或逆时针的顺序给出这样一只手上所有的点坐标给出的图形在大小长度上都是一样的,只是可能经过了旋转。要求判断是左手还是右手思路:找到最长的一条边a(长度为9)然后再找到一条长度为8的边b,两个向量做叉乘,如果bxa>0则为右手,否则为左手。代码:#include#include#include#include#include#include#include#includeusingnam
REXWind_W
·
2020-08-15 15:15
计算几何
2020牛客暑期多校训练营
(第二场)H. Happy Triangle
三个操作1多重集合中添加一个数2多重集合中删除一个数给你一个数x,问能不能从集合中找到两个数ab,使得abx构成三角形。思路:对于多重集合中,我们假设他有序,那么我们只要找到连续的ab,使得a+b>x,b-ausingnamespacestd;voiddbg(){coutvoiddbg(Ta,A...x){cout";dbg(x);}typedeflonglongll;constintN=2e5+
Top_xiao
·
2020-08-14 17:19
多校
#
线段树
树状数组
2020牛客暑期多校训练营
(第二场) J Just Shuffle
对于一个排列A,给定一个置换规则P,在使用置换PK次置换得到A,即,Pk=AP^{k}=APk=AAxk=AA^{xk}=AAxk=AP=AxP=A^{x}P=Ax所以x就是k关于m的逆元,m就是每个环的大小。/*求p,p^k=a,k为质数。a^xk=ap=a^x其中xk=1modm(m是每个环的周期数)*/#includeusingnamespacestd;constintN=1e5+100;i
Top_xiao
·
2020-08-14 17:18
多校
置换群
牛客多校
2020牛客暑期多校训练营
Decrement on the Tree(图论,set)
DecrementontheTree题目描述样例input:53123134245356110210310output:8121010题目大意给你一棵树,现在你可以选择其中的一条链,将其边上的权值都减一。并且每条边的权值不能为负数。要求最少要删除多少次(每次只能减一),才能使得整棵树的权值都是0。(只需要输出答案,而不是修改)并且,在给出答案之后,会有qqq次修改,将某一条边的权值改成另一个,这时
Zc_Ethan
·
2020-08-14 00:13
2020牛客多校
图论
set
STL
2020牛客暑期多校训练营
(第十场)A、E、D Hearthstone Battlegrounds
APermutation题目传送门Permutation题目大意给一个质数p,求一个1~p-1的排列,满足xi+1≡2xi(pmod)orxi+1≡3xi(pmod)x_{i+1}\equiv2x_i(p\mod)\or\x_{i+1}\equiv3x_i(p\mod)xi+1≡2xi(pmod)orxi+1≡3xi(pmod)思路因为2xi(modp)2x_i(mod\p)2xi(modp)或者
Kurihada
·
2020-08-13 23:50
2020牛客多校
2020牛客多校
2020牛客暑期多校训练营
(第七场)题解DBH
DFakeNews题目传送门https://ac.nowcoder.com/acm/contest/5672/D思路提前打了一下表,发现好像就1和24可以,试了一下A了附上大佬的证明:如何证明1²+2²+…+n²为平方数的解只有n=1或n=24?代码#includeintmain(){intT;scanf("%d",&T);while(T--){intn;scanf("%d",&n);if(n==
Kurihada
·
2020-08-13 23:49
2020牛客多校
算法
2020牛客多校
2020牛客暑期多校训练营
(第一场) FJ补题报告
F:给出两个字符串a,b。定义x∞=xxx…,问:a∞和b∞按字典序比较的结果1.我自己当时的思路如果两个字符串的无限延伸相同,那么,这两个字符串一定有相同的循环节。(直觉)所以,我取ab两字符串长度的gcd作为循环节长度,(如果存在循环节,那么gcd也一定是一个循环节)特判完相等之后,o(n)比较不同就可以了。#include#includeusingnamespacestd;intgcd(in
爱吃辣酱
·
2020-08-13 22:13
2020牛客暑期多校训练营
(第二场)DFCB补题报告
本篇仅用来监督自己补题D:模拟,给你两个时刻,取两个时刻之间相差多少秒。#include#includeusingnamespacestd;intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);inta,b,c;intx,y,z;chart;cin>>a>>t>>b>>t>>c;cin>>x>>t>>y>>t>>z;intt1=a*360
爱吃辣酱
·
2020-08-13 22:13
2020牛客暑期多校训练营
(第十场)C Decrement on the Tree —— 思维,边访问转换为点访问,有丶东西
Thisway题意:现在有一棵树,每条边都有一个权值,现在你每次可以选择两个点使得路径上的所有边的权值-1,问你最少需要操作几次。并且依次做m个操作,每次都将一条边的权值改变,并且求最少操作次数。题解:在赛场上我就想着DP,树剖什么的,但是搞不出来。这想法有丶东西,由于将一条边的权值-1,那必然要将它连接的两个点访问一次。那么这道题可以变成:最少的访问点的次数。那么假设一个点连了一条边,它访问次数
天翼之城*
·
2020-08-13 19:39
想法
2020牛客暑期多校训练营
(第六场) K题 K-Bag【滑动窗口】
题目链接:https://ac.nowcoder.com/acm/contest/5671/K题意定义k-bag为1~k的若干个全排列组成的序列,part-k-bag为k-bag的连续子序列。现在给你一个长度为n的序列,判断其是否为part-k-bag。思路part-k-bag的特点是中间是若干个完整的1~k全排列,左边和右边可能存在长度小于k的全排列。首先,求len[i],表示以i为终点,i之前
nefu_ljw
·
2020-08-13 15:45
ACM-数据结构
算法
deque
滑动窗口
2020牛客暑期多校训练营
(第四场)补题
F题目:题意:方法一:#includeusingnamespacestd;intmain(){intt;cin>>t;while(t--){longlonga,b,c,d,p=0;cin>>a>>b>>c>>d;if(pusingnamespacestd;intmain(){intt;cin>>t;while(t--){longlonga,b,c,d;cin>>a>>b>>c>>d;if(a-bu
月忆浅香
·
2020-08-13 13:22
2020牛客暑期多校训练营
(第十场) Decrement on the Tree
题目描述有一棵包含nnn个顶点和n−1n-1n−1个边的树。树中的每个边都有一个非负的权重。每次都可以选择两个不同的顶点uuu,vvv,并将路径上每个边的权重减去111。要使所有边的权重变为零。最小操作数是多少???您还需要支持边权重的修改:::将第ppp个边的权重更改为www。每次修改后,您都需要输出答案。样例输入53123134245356110210310输出8121010思路首先我们会想到
火箭勇士热火
·
2020-08-13 13:38
[
2020牛客暑期多校训练营
第九场] E.Groundhog Chasing Death 唯一分解+欧拉降幂
题目链接:E.GroundhogChasingDeath题意题意很简单,求∏i=ab∏i=cdgcd(xi,yj){\prod_{i=a}^b\prod_{i=c}^dgcd(x^i,y^j)}∏i=ab∏i=cdgcd(xi,yj),答案对998244353取模。(0≤a,b,c,d≤3∗106,0#include#include#include#include#include#include#
张小生的先生
·
2020-08-13 11:19
数论
2020牛客暑期多校训练营
(第十场)C.Decrement on the Tree
题目链接对于一个节点而言,我们考虑这个点会被额外操作几次,显然这个点的返祖边操作的次数都可以延申道当前节点来用,我们设当前节点的的儿子边边权的和为sum,返祖边的权值为w。如果儿子的边边权的最大值在被祖先扣过之后还是超过了sum的一半,那么我们就不能两两连路径消,只能消最大的。否则,我们必然能两两连边消。修改操作就是去掉之前的贡献,再加上新的贡献就行。#pragmaGCCoptimize(2)#p
pubgoso
·
2020-08-13 10:04
思维
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他