随笔分类 -  思维

摘要:地址:http://codeforces.com/contest/1453/problem/B 题意: 给定你一个长度为n的序列,你有两种操作,给这个序列的后缀加一或者减一,序列的后缀定义和字符串的后缀定义相同,还有你开始在所有的操作开始的时候,选择把一个数变成任意的数,这个操作不计入总的操作次数, 阅读全文
posted @ 2020-12-16 21:04 liyexin 阅读(188) 评论(0) 推荐(0)
摘要:洛谷评测地址:https://www.luogu.com.cn/problem/CF33C 前后缀,可重合。 设前缀非重合部分为A,重合部分C,后缀非重合部分为B,总和为S 那么有: A+B+C==S; 令-(A+B)+C最大。 变形得: 2*C-S。S固定,C最大即可,即求最大子序列和。 PS:想 阅读全文
posted @ 2020-10-21 20:36 liyexin 阅读(140) 评论(0) 推荐(0)
摘要:acwing评测地址:https://www.acwing.com/problem/content/description/1232/ 解析: 很容易想到前缀和。但是n*n很明显不行 对于[L,R],如果为k的倍数那么: (sumR-sumL-1)%k==0 那么sumR%k==sumL-1%k 但 阅读全文
posted @ 2020-10-15 20:19 liyexin 阅读(127) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1427/problem/A 题意: 给出a[],对其进行重排列,保证不存在 b1+b2+...+bk!=0,k=1,2,3....n 解析: 脑子秀逗了,这题差点没搞出来。 首先求一下数组和sum 1:sum==0 很明显,一定不行 阅读全文
posted @ 2020-10-11 20:43 liyexin 阅读(199) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1417/problem/B 题意: 将一个数组分成两组(各组个数可以不一样)c[],d[] 保证f(c)+f(d)最小 f()表示数组中bi+bj==T的对数 解析: 贪心 T为两两相加,那可以平均一下,就是T/2 对于<T/2的数 阅读全文
posted @ 2020-09-30 19:33 liyexin 阅读(79) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=6890 题意: n个柜子,m个需要去拿取邮件的柜子,k号柜负责输入代码。 拿每一个ai之前,都必须去K号柜输入代码才能去拿。 拿取所有邮件,所需的最少步数。 解析: 排序 可以发现,对于第一个小于k的ai,其 阅读全文
posted @ 2020-09-23 19:49 liyexin 阅读(190) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=6898 队友A掉的题。赛后看了下,觉得有必要好好写一个题解。 题意: 给出A,K',求C 而C需要K,所以需要通过K'求K 解析: 1:暴力做法 由题中公式,先求K,然后直接四层for求出C来,打印即可。 # 阅读全文
posted @ 2020-09-23 16:22 liyexin 阅读(344) 评论(0) 推荐(0)
摘要:A:http://codeforces.com/contest/1400/problem/A 解析: 发现每一个字符串,都包含s[n-1],所以直接打印n个s[n-1]即可 #include<bits/stdc++.h> #include<map> #include<iostream> #inclu 阅读全文
posted @ 2020-08-27 18:15 liyexin 阅读(182) 评论(0) 推荐(0)
摘要:A:http://codeforces.com/contest/1395/problem/A 题意: 给出四种颜色球的数目。 操作:前三个颜色的球各减一,变成第四种。 是否能让所有球组成回文? 解析: 构成回文的条件:均为偶数或者只含一个奇数 对于第四种球,如果被操作,就是+3 可以发现,+3一次就 阅读全文
posted @ 2020-08-13 18:02 liyexin 阅读(136) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5672/B 题意: 给出n*m个口罩,把它们分成k组,可以取:n组,每组m个口罩,m组,每组n个口罩 求最小k,并按字典序从大到小输出 解析: 来自:https://www.cnblogs.com/xyq0220/p/1 阅读全文
posted @ 2020-08-03 12:04 liyexin 阅读(136) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1389/problem/A 题意: 不说了,很清晰了。 解析: 我们选择的x,y越大,lcm(x,y)就会更大,越有可能越R这个右界限 所以L做为最小,如果2*L越界,是一定无解的。 #include<bits/stdc++.h> 阅读全文
posted @ 2020-07-30 22:26 liyexin 阅读(145) 评论(0) 推荐(1)
摘要:地址:https://ac.nowcoder.com/acm/contest/5671/C 题意: 给出n*m的矩阵,求子矩阵的最大压强:压力F为子矩阵所有元素之和,受力面积为子矩阵最后一行的元素之和 子矩阵可以不连续 解析: 给出一个比较极端的情况: 1 100 1 100 1 1 第一列压强为: 阅读全文
posted @ 2020-07-29 11:58 liyexin 阅读(167) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5671/E 题意: 构造一个只含1~n的序列,使得对于每一个长度在[1,n]的i,序列都存在一段长度为i的连续子序列,它的和%n==k 解析: 正着看不好看,来倒着分析 首先是i==n的情况,也就是序列总和,如果它%n! 阅读全文
posted @ 2020-07-29 10:23 liyexin 阅读(275) 评论(0) 推荐(0)
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF1038D 题意: n只史莱姆,每一个史莱姆可以吃相邻的左或右,它的分数就变成:它的分数-被吃的分数 求最大的剩余值。 解析: 如果对过程进行太多的分析的话,问题就会变得很复杂。刚开始想的是,把所有能算出来的负数弄出来, 阅读全文
posted @ 2020-07-26 18:08 liyexin 阅读(162) 评论(0) 推荐(0)
摘要:A:http://codeforces.com/contest/1382/problem/A 题意: 找出最短数组c[],保证它同时是a[]和b[]的子序列 解析: 如果a[]和b[]存在相同数字,直接输出它 否则不存在 #include <bits/stdc++.h> #define ll lon 阅读全文
posted @ 2020-07-22 13:45 liyexin 阅读(162) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5668/B 题意: 给定字符串s n次操作 M: x x>0,将左边x个字符般到右边。x<0,将右边数x个字符搬到左边 A: x 询问当前第x个字符 解析: 思路:维护变化后的第一个字符,在原字符里出现的位置 上样例: 阅读全文
posted @ 2020-07-18 23:18 liyexin 阅读(124) 评论(0) 推荐(0)