自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邵光亮的博客

踏踏实实做好每一件事

  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

原创 AtCoder Beginner Contest 164 E - Two Currencies

题意:给 nnn 个城市,nnn 条路,sss 个银币,每条路需要花费 aIa_IaI​ 个银币和 bib_ibi​ 分钟,可以在第 iii个城市花费 did_idi​ 分钟获得 cic_ici​ 银币(无限次),求从 111 到 2...n2...n2...n 最少花费的时间。最短路,f[i][j]f[i][j]f[i][j] 代表到第i个城市身上有 jjj 个银币的最少花费时间,由...

2020-04-29 11:28:47 139253

原创 AtCoder Beginner Contest 164 D.Multiple of 2019(DP)

从后往前 dpdpdp 。AC代码:const int N = 2e5 + 10;int n, m;string s;ll ans, res, now;int cnt[N];int main(){ cin >> s; int len = s.size(); mem(cnt, 0); cnt[0] = 1; res = 1; ans = 0; now =...

2020-04-29 10:57:54 139059

原创 Codeforces 1342 E. Placing Rooks(容斥)

题意:在一个 n∗nn*nn∗n 的棋盘上放置 nnn 个车,满足以下两个条件:棋盘上的每一个空格子都能被至少一只车走到恰好存在 kkk 对车可以相互攻击求所有车的摆放方案数。要满足第一个条件,则每一行/每一列都有一个车,两者至少满足其一。对于这两种情况是等价的,下面只考虑每一行都有车,最终结果乘 222 即可, k=0k=0k=0 不需要 ∗2*2∗2。假设所有行都有一个车,...

2020-04-27 17:56:53 139429

原创 Codeforces 1342 D. Multiple Testcases

题意:给定 nnn 个数 m[i]m[i]m[i],每个 mim_imi​ 都在 [1,k][1,k][1,k] 的范围内再给定 kkk 个数 cic_ici​,要求将所有的 m[i]m[i]m[i] 进行分组, cic_ici​ 表示每组中大于等于 iii 的数不超过 cic_ici​ 个.求最少能分几组,并输出分组方案。首先要求出最小分组 ,求出数组 mmm 中大于等于 iii 的数字...

2020-04-27 17:22:35 138852

原创 Codeforces 1342 B. Binary Period

题意:010101 构成的字符串,要求填充最少的数使得原串为新串子序列,且长度不小于其一半。新串最小循环节最小。这个最小循环节除了 000 就是 000 了,这样的话 1010...1010...1010...构造即可。AC代码:string s;bool flag;int len;int main(){ int t; sd(t); while (t--) { ci...

2020-04-27 15:30:40 138651 1

原创 Codeforces 1342 A. Road To Zero

题意:给定非负整数 x,yx,yx,y ,两个操作 111 (花费 aaa ),操作 222 (花费 bbb):求让 x=y=0x=y=0x=y=0 的最少花费是多少。只需要讨论 2a2a2a 和 bbb 的关系即可。AC代码:ll x, y, a, b;ll ans, res;int main(){ int t; sd(t); while (t--) { sldd(x...

2020-04-27 15:25:43 138666

原创 Codeforces 1342 C. Yet Another Counting Problem(找规律)

题意:[l,r][l,r][l,r] 范围内多少个数满足 (x%b)%a!=(x%a)%b(x \% b) \% a != (x \% a) \% b(x%b)%a!=(x%a)%b。一般这种题没什么思路就打表找一下规律。7891011121314151617181920282930313233343536373839404149...

2020-04-27 14:36:13 138474

原创 2020年4月26总结

最近总是简单题想复杂,写了很久然后发现很简单啊,没有发现题目的本质,可能是一昧的追求速度,看完题直接写,不去考虑出题人的意思,好几场比赛都是这样,昨天状态也是真的差,连学弟都没打过,这场比赛好好补补。...

2020-04-27 11:26:54 138037

原创 B 病毒扩散(组合数)

题意:先打表找规律,然后就会发现是杨辉三角形。AC代码:const int N = 5010;const int mod = 998244353;int f[N][N] = {0};int n, m;int x, y, t;int main(){ sd(n); f[0][0] = 1; rep(i, 1, 5000) { f[i][0] = 1; rep(j...

2020-04-26 18:57:03 138050

原创 NC205213 牛妹的游戏(三元环)

题意:给定 nnn 个点 mmm 无向边,求该图和图的补图是否有度数为 333 的环。拉姆塞结论–点数超过5的图和对应补图必有度数为3的环。那么点数少于6的图直接暴力找环即可。AC代码:const int N = 20;const int mod = 998244353;int n, m;bool vis[N][N];bool flag;int main(){ i...

2020-04-26 18:44:06 137921

原创 Codeforces 1341 D. Nastya and Scoreboard(dp)

题意:一个 nnn 个数字的计数器,每一个数字都是由七个灯管组成,现在给出每个数组的初始显示情况,问再点亮 kkk 个灯管的话能显示的最大的数是多少,如果不能构成一串数字,就输出 −1-1−1。预处理 0 90~90 9 对应数码位字符串状态成整数,dpdpdp 从最后一位数码位往前构造到第 iii 位数字时点亮 jjj 根灯管能否构造出数字,1−n1-n1−n 第 i...

2020-04-24 17:58:05 138001

原创 Codeforces 1341 C. Nastya and Strange Generator

题意:有 nnn 个数,然后向一个数组里填数,首先这个数组 arrarrarr 是空的,有一个 rrr 数组和 countcountcount 数组。rjr_jrj​ 的值是从 jjj 到 nnn,rrr 数组的意思是:原序列当前位置右边第一个空格的位置,比如原序列 arrarrarr 索引为 111 的位置的右边第一个空位是 333。索引为 222的位置的右边第一个空位是 333。索引为...

2020-04-24 16:41:14 137925

原创 Codeforces 1341 B. Nastya and Door

题意:求长度为 kkk 的段使得其中山峰最多,找到 lll 最小的一段。对于每个山峰标记,然后以长度为 kkk 的一个窗口滑动,左边失去的后一个位置是山峰就 −1-1−1 ,右边得到的前一个位置是山峰就 +1+1+1 。然后找到最大值即可。AC代码:const int N = 2e5 + 10;int n, m, k;int ans1, ans2, res, tmp, cnt;i...

2020-04-24 15:42:01 137567

原创 Codeforces 1343 E. Weights Distributing

题意给出一个点数为 nnn,边数为 mmm 的无向图,求分配 mmm 个权值给这些边使得 aaa 到 bbb 到 ccc 的路径的最小花费。两种情况aaa 到 bbb 和 bbb 到 ccc 没有重合。这个时候只需要求出 aaa 到 bbb 的最短路径加上 bbb 到 ccc 的最短路径即可aaa 到 bbb 和 bbb 到 ccc 有重合。aaa 走到 bbb ,bbb 会沿着 b...

2020-04-22 17:14:33 137481

原创 Codeforces 1343 D. Constant Palindrome Sum

题意:给定一个长度为 nnn 的数列,nnn 为偶数,保证每个元素在 [1,k][1 , k][1,k] 之间,每次操作可以把某个位置的数字变成 [1,k][ 1 , k ][1,k] 内的任意数字,要求让这个数列满足:对于所有的 i∈[1,n/2],ai+an−i+1i∈[1 ,n/2], a_i + a_{n-i+1}i∈[1,n/2],ai​+an−i+1​ 是一个定值,求最少的操作次数...

2020-04-22 10:21:16 137227

原创 Codeforces 1343 C. Alternating Subsequence

题意:给出一个序列,找到一个循环序列使得他们的和最大。把每段连续的奇偶分段找出每一段的最大值相加即可。AC代码:const int N = 2e5 + 10;int n, m, x;ll ans, sum, res;int a[N];int main(){ int t; sd(t); while (t--) { sd(n); rep(i, 1, n) sd...

2020-04-22 10:11:12 137384

原创 Codeforces 1228 D. Complete Tripartite

题意:给了个图 让他成为题意的3分图。333 个集合形成了一个环的关系,所以随意调换顺序是无所谓的.然后随便让 111 个点成为第 222 集合,那么不与这个点连边的一定也属于第二集合.然后再随便找一个与所选点有连边的点,将这个设为第 333 集合中的点,然后与这个点有连边且不为第二集合的就是第一集合的.构造出了 333 个集合后再判断一下是否不合法即可.几个判断方式:一个...

2020-04-20 17:20:37 146338

原创 Codeforces 1228 C. Primes and Multiplication

题意:求质数 ppp 在 1∼n1∼n1∼n 中的每个数中的次幂之和.因为 ppp 是一个质数,只能由 111 乘以 ppp 表示出来,所以可以将问题转化为求 ppp 在 n!n!n! 中出现的次幂.我们可以像提取公因式一样地去提取这个 ppp.那么,先考虑 ppp 的贡献:1∼n1∼n1∼n 中能被 ppp 整除的乘积为 pnp×(np!)p^{\frac{n}p}×(\frac{n}...

2020-04-20 16:52:38 147364

原创 Codeforces C. Linova and Kingdom

题意:给一个点数量为 nnn 的树,让其中 kkk 个结点变为工业城市,其余为旅游城市。而每个工业城市到根节点 111 的路径上存在的旅游城市数量之和求最大。这种建图的题还是自己的弱项,半个小时才做出来。其实不难,设置 111 节点的深度为 000 , 其他节点到 111 节点的距离为深度,然后选取 kkk 个最大深度即可。AC代码:const int N = 2e5 + 10;i...

2020-04-16 09:33:18 146946 1

原创 Codeforces D. Xenia and Colorful Gems(二分)

题意:三个数组,每个数组中挑出来一个数,求 (x−y)2+(x−z)2+(y−z)2(x-y)^2+(x-z)^2+(y-z)^2(x−y)2+(x−z)2+(y−z)2 的最小值。三个数肯定有大有小,先固定最大的数和最小的数,然后枚举中间的数,这个固定的过程可以使用二分来加速,然后枚举过程选择最小值。AC代码;const int N = 2e5 + 5;ll r[N], g[N],...

2020-04-16 09:24:20 146014

原创 H. H to O

题意:是你有 kkk 个所给分子数,你通过将这个分子拆分再组合成另一个分子,问你最多能组合几个你想要的分子。统计个数按照最小的那个就行。AC代码:const int N = 1e5 + 10;int n, m;string s, t;int a[1000], b[1000];int ans, res, cnt, tmp, num;int main(){ cin >&...

2020-04-15 20:53:40 144699

原创 A. Appalling Architecture(重心公式)

题意:给定 n∗mn*mn∗m 的矩形,′.′'.'′.′ 表示空地,其他的表示一个建筑模块,让你求出不是空地的那些地方,组成的一个图形的重心,与最后一行横坐标相比看看是否平衡。难点在于求重心,这个百度即可,剩下的就是分类讨论AC代码:const int N = 1e5 + 10;int n, m;char a[110][110];int ans, res, tmp, cnt;...

2020-04-15 19:59:46 144090

原创 Codeforces 1335 E. Three Blocks Palindrome

题意:给定一个长度为 nnn 的数列定义,这个回文子数列可以是数字完全相同的一个子数列,也可以是只包含两种数字,且其中一种平均分布在另一种数字的两侧。求出最长的回文子数列长度因为 aaa 不大所以直接枚举 aaa 这样两边的数就可以确定,中间的区间也可以确定,然后再从中间的区间枚举 bbb ,这样选取最大值。const int N = 3e5 + 10, M = 200;int n, a...

2020-04-14 18:07:10 143661

原创 Codeforces 1335 D. Anti-Sudoku

题意 :将一个 9×99×99×9 的数独方阵改为反数独方阵,即行、列、999 个 3×33×33×3 的方阵中都至少有两个数相同,最多改动 999 个数。一开始没注意需要每个小格子里面还得满足,这样的话就按照1 12 43 74 25 56 87 38 69 9把这些格子里面的随便改变即可。A...

2020-04-14 17:23:04 143512

原创 Codeforces 1335 C. Two Teams Composing

题意:在一个数组中挑些数分为两组,一组全不相同,一组全部相同。分类讨论即可。AC代码;const int N = 2e5 + 10;int a[N];int n, m;int cnt, res, ans;int main(){ int t; sd(t); while (t--) { sd(n); map<int, int> mp; cnt = ...

2020-04-14 17:12:47 143268

原创 Codeforces 1335 B. Construct the String

题意:求一个 nnn 长度的字符串,要求每 aaa 个长度的子串中要有 bbb 个不同的字符。直接按照 长度为 aaa 的循环即可。AC代码:const int N = 1e4 + 10;char s[N]; int main(){ int t; sd(t); while (t--) { int a, b, n; sddd(n, a, b); rep(i, 1...

2020-04-14 16:30:27 143045

原创 Codeforces 1339 D. Edge Weight Assignment

题意:给你一棵树,要你计算出一种符合条件的树最多和最少的权值不同的边的数量,对于任意的两个叶子节点他们之间的路径异或和等于 000。对于最小值,如果所有叶子节点距离两两都为偶数,最小值为 111,否则为 222对于最大值,初始值为 ans=n−1ans=n-1ans=n−1,如果一个节点有 >=2>=2>=2 个叶子节,那只能都要合并成一个节点。AC代码:...

2020-04-13 11:19:44 142839 3

原创 Codeforces 1339 C. Powered Addition

题意:一个数组,第 ttt 秒可以给数组中的任意元素加 2t−12^{t-1}2t−1 问最少多少秒可以把该数组变成非递减序列。找与前面差值最大的是多少即可,看他需要几秒,他可以了其他的也就可以了。AC代码:const int N = 1e5 + 10;int n, m;ll a[N];int main(){ int t; sd(t); while (t--) { s...

2020-04-13 11:16:25 142758

原创 Codeforces 1339 B. Sorted Adjacent Differences

题意:给你一个数组,你需要重新排列这个数组的元素,使得相邻两个元素的差值呈非递减。排序后从中间位置开始输出,输出一个后面的输出一个前面的即可。AC代码:const int N = 1e5 + 10;int n, m;int a[N], b[N];int main(){ int t; sd(t); while (t--) { sd(n); rep(i, 1, n)...

2020-04-13 11:13:59 142117

原创 Codeforces 1334 D. Minimum Euler Cycle

题意:给出一个 nnn 个顶点的有向完全图,找出字典序最小的欧拉回路经过的顶点,然后从 LLL 输出到 RRR 为止。如果把 n=5n=5n=5 画个图,会发现欧拉序列长这样:[1,2,1,3,1,4,1,5]+[2,3,2,4,2,5]+[3,4,3,5]+[4,5]+[1][1,2,1,3,1,4,1,5]+[2,3,2,4,2,5]+[3,4,3,5]+[4,5]+[1][1,2,1...

2020-04-12 10:18:49 141947

原创 Codeforces 1334 C. Circle of Monsters

题意:nnn 只怪物围成一圈,每只怪物拥有体力 aaa 和爆炸伤害 bbb 如果怪物 iii 死亡,则与他相邻的下一只怪物将受到 bib_ibi​ 点伤害,每次你能随便挑一只怪物开一枪,那只怪物的体力将会降低 111 点,问至少需要开多少枪才能解决掉所有怪物。AC代码:ll ar[300050], br[300050];int main(){ int t; sd(t); whil...

2020-04-12 09:54:23 141774

原创 Codeforces 1333 D. Challenges in school №41

题意:给定一个长度为 nnn 且由字符 L,RL,RL,R 构成的字符串,每轮操作中,你都能选择任意对相邻的 RLRLRL ,将其变为 LRLRLR ,询问能否正好用 kkk 轮将字符串中的 LLL 全部移动至左端, RRR 全部移动至右端。每一轮操作我们都贪心地将所有能够交换的位置互换,统计最少需要 cntcntcnt 轮才能完成交换,并统计交换的总次数 sumsumsum ,如果 k∈...

2020-04-09 09:46:01 141410

原创 Codeforces 1333 F. Kate and imperfection

题意:在集合 S=1,2,⋯,nS={1,2,⋯,n}S=1,2,⋯,n 中,对于每个正整数 kkk ,找出一个大小为 kkk 的子集,使得该子集中两两间最大公因数的最大值最小,求这个最小值。我们考虑如何构造两两间最大公因数的最大值最小的集合,首先肯定是把所有质数先丢进集合里,然后再把与已经在集合内的数的最大公因数 =2=2=2 的数丢进去,然后是 =3=3=3 的数……然后注意到,如果我...

2020-04-09 09:06:28 142012

原创 Codeforces 1333 C. Eugene and an array

题意:给定一个长度为 nnn 的数组 aaa,问这个数组 aaa 中有多少子数组是好数组,子数组的定义为: 把一个数组前面删去 000 个或全部元素,后面删去 000 个或全部元素得到的数组就是原数组的子数组。子数组的定义为:把一个数组前面删去 000 个或全部元素,后面删去 000 个或全部元素得到的数组就是原数组的子数组好数组的定义为:对于数组a的每个子数组b都满足 sumb...

2020-04-09 08:46:12 141293

原创 L. Leverage MDT

题意给一个 010101 矩阵,可以选择一些行翻转。最大化全为 111 的长宽相等的子矩阵按列枚举对于每一列正反跑两遍单调栈即可AC代码:const int N = 1010;char s[N][N];int len[N][N];int up[N], down[N];int st[N], pos;int n, m;int ans;int main(){...

2020-04-08 20:57:11 141062

原创 G. Gluing Pictures(SAM)

题意给字符串 sss 和 ttt,你需要给 sss 拍若干张照片,然后把它们按某种顺序拼起来得到字符串t,求最少拍多少张照片、其实就是在找最少需要多少原串中的子串构成询问串。每次贪心地选择极长的一段拍照,SAMSAMSAM进行匹配就行了。AC代码:const int N = 500010;struct SAM{ struct node { int parent, next[...

2020-04-08 20:55:30 141106

原创 I. Improve SPAM

题意:DAG上从1号点到其他终止点的路径方案数AC代码:const int N = 1010;char s[N][N];int len[N][N];int up[N], down[N];int st[N], pos;int n, m;int ans;int main(){ sdd(n, m); rep(i, 1, n) ss(s[i] + 1); rep(i,...

2020-04-08 20:52:20 139613

原创 E. Eggfruit Cake

题意:给一个首尾相连的字符串,求有多少区间长度不大于 sss 且至少有一个字符 eee。对于每一个位置,一共有 pos+spos+spos+s 种选取方法,对于他选取的这个区间里面只有他后面最近的那个 eee 位置之后的 eee 的位置可以选,所以先找的每个 eee 的位置然后遍历即可 。AC代码:const int N = 2e5 + 10;int t;int n, m;ch...

2020-04-08 20:49:11 139516 3

原创 M. Mountain Ranges

题意:最长的连续字段,相邻差不超过 xxx 。两重循环暴力。AC代码:const int N = 1010;int t;int n, m;int a[N];int ans, res, tmp, cnt;int main(){ sdd(n, m); rep(i, 1, n) sd(a[i]); sort(a + 1, a + 1 + n); ans = -1;...

2020-04-08 20:45:08 139273

原创 AtCoder ABC161 E - Yutori

题意:给 nnn 天要求工作 kkk 天,且工作一天要休息 ccc 天。按顺序输出必须要工作的天数下标。贪心。正序遍历贪心求最小位置记录在数组 aaa 中,倒序遍历贪心求最大位置记录在数组 bbb 中。AC代码:const int N = 2e5 + 5;int a[N], b[N];int n, k, c;int pos;string s;int main(){ sdd...

2020-04-07 14:32:05 139210

kaggle麦穗数据集(标记好的)

kaggle麦穗数据集已经标记完成可以直接训练

2023-02-03

python依赖包,requirements.txt文件

python依赖包,requirements.txt文件

2022-03-08

pycharm导入mysql依赖包

pycharm依赖包

2022-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除