02 2020 档案

摘要:题意 给出n个点,m条边,还有k个特殊点; 求从1到n的最短路,但又不是单纯求最短; 我们需要在这k个特殊点中选择两个点,将这两个点相连,再去求路径最长的最短路 那么 ,我们可以先跑两边spfa求出从顶点1开始的最短路和从n开始的最短路,分别为disa disb; 然后,我们再将特殊点根据disa[ 阅读全文
posted @ 2020-02-29 15:58 古比 阅读(404) 评论(0) 推荐(0)
摘要:https://codeforces.com/contest/1307/problem/C 题意:给出一个串,让我们从其中选出最多有多少个相同的下标为等差序列的子序列; 找出最多的个数; 思路:当子序列的长度大于2时,我们会发现,可以用一个长度为2的来替代他; 比如aabbcc序列,我们有两个长度为 阅读全文
posted @ 2020-02-29 14:04 古比 阅读(427) 评论(1) 推荐(1)
摘要:https://codeforces.com/contest/1311/problem/F 这是一道线段树类型的题; 可以用权值线段树或者树状数组来解; 所以,我们可以分为两部分,第一部分是计算出到当前点位置,小于等于当前点的速度的个数 ,总的个数乘当前点的速度 减去 小于等于当前点的速度的坐标总值 阅读全文
posted @ 2020-02-28 16:12 古比 阅读(288) 评论(0) 推荐(0)
摘要:https://codeforces.com/contest/1311/problem/D 本题题意:给出a,b,c三个数,a<=b<=c; 可以对三个数中任意一个进行+1或-1的操作; 问题:求出最少操作数使这些数满足:b整除a,c整除b 思路:题目中给出abc的范围只有1e4 所以我们可以通过枚 阅读全文
posted @ 2020-02-25 17:15 古比 阅读(215) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2146 题意:给出一棵树,然后有两种操作,安装与卸载; 安装就是,想要安装这个软件,就得安装这个软件之前的一个软件,即:他的父亲,他的父亲的父亲.... 卸载就是,想要卸载这个软件,就得把这个软件的儿子都卸载了才能卸载; 那么他具 阅读全文
posted @ 2020-02-24 11:04 古比 阅读(164) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2420 对于异或,就是将之前的求和的+号改为^ 即可 其他完全一样 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 const 阅读全文
posted @ 2020-02-24 10:59 古比 阅读(233) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2590 模板题 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring> 5 #include<cstdio> 6 #de 阅读全文
posted @ 2020-02-24 10:58 古比 阅读(159) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2486 题意:求出一段路径的颜色段数量; 很明显路径通常通过树剖来解决; 我们在树剖之后,查询两点之间颜色段的数量的时候,对于不同的两个区间,我们先将答案都加起来, 然后假如这两点区间的连接处颜色相同,我们再将答案减1; 那么什么 阅读全文
posted @ 2020-02-24 10:56 古比 阅读(177) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/4010/F?&headNav=acm 这是一道树链剖分的题目; 很容易想到,我们在树剖后,对于操作1,直接单点修改; 对于答案查询,我们直接的时候,我们假设查询的点是3,那么我们在查询的时候可分为两部分; 第一部分:查找 阅读全文
posted @ 2020-02-24 10:44 古比 阅读(199) 评论(0) 推荐(0)
摘要:题目链接:https://nanti.jisuanke.com/t/A1995 题意:给出递推式,我们可以算出a【n】=n*n+n; 那么Sn=n*(n+1)(2*n+1)/6+n*(n+1)/2; 我们有这样一个容斥定理:区间中与i不互质的个数=(区间中i的每个质因素的倍数个数)-(区间中i的每两 阅读全文
posted @ 2020-02-22 10:49 古比 阅读(269) 评论(0) 推荐(0)
摘要:题意:给一个长度为n的序列,初始值为1~n; 对序列有以下两种操作; 1.查询[x,y]内与p互素的数的和; 2.修改第x数为c; 对于这道题,我们应该可以通过求【1,y】-【1,x-1】来得出答案; 我们先忽略操作2带来的影响,最后再通过暴力做法修改值即可(因为m范围只到1000,所以暴力不超时) 阅读全文
posted @ 2020-02-22 10:37 古比 阅读(200) 评论(0) 推荐(0)
摘要:当我们在两个相邻区间里求出最小后,这个最小不一定为最小,因为可能为两个区间内得数进行组合才得出得最小; 而这个时候如果我们暴力求两个区间内得数的情况的话,会超时,这个时候,我们已经算出了最小值dis 于是,我们从这两个区间的mid开始 向左向右延申长为dis,高为2dis的区间(我们就是将这个范围内 阅读全文
posted @ 2020-02-21 13:50 古比 阅读(376) 评论(0) 推荐(0)
摘要:题意:给你一个无向图,问图中有多少个符合条件的集合?条件为这个集合里面存在一个子集(大小>=3)为团或者都是孤立点。答案mod1e9+7; 根据 Ramsey定理,大于等于6个的集合,肯定存在一个子集的边都是红色或者都是蓝色,即为团还是为孤立点; 所以当n大于等于6的时候,所有的取6个或六个以上的子 阅读全文
posted @ 2020-02-21 13:12 古比 阅读(182) 评论(0) 推荐(0)
摘要:作者:珩月链接:https://ac.nowcoder.com/discuss/367149来源:牛客网 将木板按照Xi从小到大排序,将这时的Yi数列记为Zi数列,则问题变成将Zi划分为尽可能少的若干组上升子序列。 根据Dilworth定理,最小组数等于Zi的最长下降子序列长度。 要求最长下降子序列 阅读全文
posted @ 2020-02-18 10:50 古比 阅读(226) 评论(0) 推荐(0)
摘要:普通DP(复杂度O^2) 1 #include <iostream> 2 using namespace std; 3 4 const int N = 1010; 5 int a[N], dp[N], n; 6 7 int main() { 8 cin>>n; 9 for(int i = 1; i 阅读全文
posted @ 2020-02-18 10:43 古比 阅读(537) 评论(0) 推荐(0)
摘要:作者:儒生雄才1链接:https://ac.nowcoder.com/discuss/366644来源:牛客网 题目连接:https://ac.nowcoder.com/acm/contest/3006/F 考虑到了第iii句话时候,这种状态可能由两种状态转移而来。 直接一发AC,从第i−1i-1i 阅读全文
posted @ 2020-02-14 13:18 古比 阅读(161) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/3006/B来源:牛客网 可以知道,在数轴上选点,会形成一个下凸形(左边单调递减,右边单调递增) 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 struct p 阅读全文
posted @ 2020-02-13 19:29 古比 阅读(480) 评论(0) 推荐(0)
摘要:题目连接:https://www.luogu.com.cn/problem/P3384 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x 阅读全文
posted @ 2020-02-12 22:19 古比 阅读(127) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网天上有n颗星星,每颗星星有二维坐标(xi,yi)(x_i, y_i)(xi​,yi​),还有一个属性值ziz_izi​,若两颗星星A, B满足xA<xBx_A < x_BxA​<xB​且yA<yBy 阅读全文
posted @ 2020-02-12 11:25 古比 阅读(278) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/3005/H来源:牛客网 大致题意:让我们针对每一个数,求这个数左区间和右区间颜色相同(也就是数字相同)得对数; 比如:左边3个“3'得颜色,右边2个‘3’得颜色,就有2*3=6对; 数据范围为5e5;所以可接受得复杂度为 阅读全文
posted @ 2020-02-11 18:40 古比 阅读(216) 评论(0) 推荐(0)
摘要:给你n个数,你可以这样操作:使区间[l,r]的数变成 他们的平均数,求字典序最小的序列。 做法:从左往右逐个比较,比较完之后会形成一个区间,一开始是区间为1的数进行比较,到后来会 变成区间较大的进行比较; 举个例子:7 6 5 4 3 2 3 显而易见,递减序列肯定是要求平均值的,但是求出来之后,会 阅读全文
posted @ 2020-02-11 12:54 古比 阅读(195) 评论(0) 推荐(0)
摘要:Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. Input 第一行给出N,M表示布丁的个数和好友的操作次数. 第二行N个数A1,A2…An表示第i个布丁的颜色从第 阅读全文
posted @ 2020-02-10 22:07 古比 阅读(109) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/4010/C 这道题为尼姆博弈的其中一种裸类型; 要求求出前(1~n)堆的必胜方案。 对于这种类型,假如我们现在就前k堆,那么我们先异或出前k堆的异或值; 然后再对k堆中的每一项进行下列操作: tmp=sum^a[i] ,假如总 阅读全文
posted @ 2020-02-10 20:44 古比 阅读(203) 评论(0) 推荐(0)
摘要:母题:有若干堆石子,每堆石子的数量是有限的,二个人依次从这些石子堆中拿取任意的石子,至少一个(不能不取),最后一个拿光石子的人胜利。 1、我们首先以一堆为例: 假设现在只有一堆石子,你的最佳选择是将所有石子全部拿走,那么你就赢了。 2、如果是两堆:假设现在有两堆石子且数量不相同,那么你的最佳选择是取 阅读全文
posted @ 2020-02-10 20:31 古比 阅读(197) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/4010/A 这道题枚举区间长度的贡献值; 当区间长度为1时,就是所有元音数的个数; 当区间长度为2时,区间【2,n-1】的数贡献了两次; 以此类推; 那么为什么可以这样做呢。 举个例子:当区间长度为2时,答案就是 (该区间元音 阅读全文
posted @ 2020-02-10 18:08 古比 阅读(1175) 评论(0) 推荐(0)
摘要:这是一道二进制思维题; 将所有数字列成二进制形式,然后找出最大的一位“1”出现一次的位数; 然后把这个数提到前面,其他照常输出即可 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+10; 4 int a[ma 阅读全文
posted @ 2020-02-10 10:13 古比 阅读(297) 评论(0) 推荐(0)
摘要:https://codeforces.com/contest/1296/problem/C 题意:给一个只包含RLDU(向上下左右走)字符的字符串,问哪一段连续字符,最终位置保持不变,要求去除的字符最短; 1 #include<bits/stdc++.h> 2 using namespace std 阅读全文
posted @ 2020-02-09 21:04 古比 阅读(409) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/3004/B 构造题 构造A题中的迷宫,要求方案数整好等于给定的k,可以构造一个二进制编码器,斜对角线上的方案数恰好是1,2,3,4,8,16,32...,用二进制可以拼出所有的数字,所以一定能造的出来。 如图所示,斜对角线的R 阅读全文
posted @ 2020-02-09 20:23 古比 阅读(168) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/3004/E 1 #include<bits/stdc++.h> 2 using namespace std; 3 const long long mod=(int)1e9+7; 4 int i,i0,T; 5 long lon 阅读全文
posted @ 2020-02-09 18:32 古比 阅读(220) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/3003/J 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 const int mod=1e9+7; 5 const int 阅读全文
posted @ 2020-02-07 11:12 古比 阅读(152) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/3003/H来源:牛客网 牛可乐有 n 个元素( 编号 1..n ),第 i 个元素的能量值为 aia_iai​。 牛可乐可以选择至少 k 个元素来施放一次魔法,魔法消耗的魔力是这些元素能量值的极差。形式化地,若所用元素编 阅读全文
posted @ 2020-02-06 22:55 古比 阅读(299) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/3003/G 链接:https://ac.nowcoder.com/acm/contest/3003/G来源:牛客网 题目描述 牛可乐有七个整数 a,b,c,d,e,f,g\text{}a,b,c,d,e,f,ga,b,c,d, 阅读全文
posted @ 2020-02-06 20:00 古比 阅读(317) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/3002/I来源:牛客网https://ac.nowcoder.com/acm/contest/3002/I 题目描述 "にっこにっこにー" ——nico nico平时最喜欢说的口头禅是niconiconi~。 有一天ni 阅读全文
posted @ 2020-02-04 21:05 古比 阅读(296) 评论(0) 推荐(0)
摘要:链接:https://codeforces.com/contest/1200/problem/E 题意:依次合并两个单词,每次合并将删去最长相同前后缀,输出结果。 思路:用kmp跑出每个需要被连接的单词的next数组,与之前的单词进行匹配,跑出最长前后缀的长度并更新结果。 1 #include<bi 阅读全文
posted @ 2020-02-03 13:32 古比 阅读(827) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problemnew/solution/P3375 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e6+10; 4 int kmp[maxn]; 5 char a 阅读全文
posted @ 2020-02-03 10:38 古比 阅读(118) 评论(0) 推荐(0)
摘要:一、差分数组的定义及用途 1.定义: 对于已知有n个元素的离线数列d,我们可以建立记录它每项与前一项差值的差分数组f:显然,f[1]=d[1]-0=d[1];对于整数i∈[2,n],我们让f[i]=d[i]-d[i-1]。 2.简单性质: (1)计算数列各项的值:观察d[2]=f[1]+f[2]=d 阅读全文
posted @ 2020-02-02 17:52 古比 阅读(419) 评论(0) 推荐(0)