摘要: A-E,补F A:最大的那个数一定是a+b+c,其他三个随意,解方程 B:分情况,如果输入的数字种类是1,就输出0;如果是2,如果这两个数差是奇数,则输出这个奇数,如果是偶数,就输出这个偶数/2;如果是3,如果最大值和最小值是剩下那个数的2倍,则输出(max-min)/2,否则为0 C:先预处理a、 阅读全文
posted @ 2020-05-31 23:13 lalallxin 阅读(105) 评论(0) 推荐(0)
摘要: A-D,补E, A:模拟,if判断。 B:记录 ’B' 的数量和位置的最外层的上、下、左、右的坐标,取(下-上)和(右-左)的最大值L,若L小于n和m,成立L是边长,否则不成立,-1,保险起见,特判了B的数量是0和1的情况 C:暴力模拟,最后空位填‘a',需要优化,对于每一次都是升序的位置,记录上一 阅读全文
posted @ 2020-05-29 20:59 lalallxin 阅读(287) 评论(0) 推荐(0)
摘要: C1、C2求正多边形最小外接正方形的边长 相关知识点https://www.cnblogs.com/stelayuri/p/12906790.html D:图是一个DAG。拓扑排序后,用f[x][i]表示第i个字母(从1到26)截止到第x个节点时一共出现了几次。之后把数组里面所有值遍历一遍即可。 # 阅读全文
posted @ 2020-05-24 22:45 lalallxin 阅读(145) 评论(0) 推荐(0)
摘要: A-C: A:起初将n%21,觉得只需要考虑21以下的数就可以,结果WA了,后来发现22、42都是YES,但是这样输出NO,还是不处理了,直接暴力就行了。 B:血不够就加血,够就攻击,保存一份副本来输出字符串,一份来计算次数 C:因为不允许一个盒子里面同时放两个盒子,(比如4*4的放两个2*2的不可 阅读全文
posted @ 2020-05-24 11:39 lalallxin 阅读(126) 评论(0) 推荐(0)
摘要: 一、根据pair的first降序排序,second升序排序 //#include<utility> typedef pair<int,int> P; struct cmp { bool operator()(const P p1,const P p2) { if(p1.first==p2.first 阅读全文
posted @ 2020-05-24 00:34 lalallxin 阅读(481) 评论(0) 推荐(0)
摘要: 前三题暴力 第四题用优先队列存储pair,first是0串的长度,second是起始位置,按照first降序,second升序排列; 第五题,贪心:现将所有的都边为0,记录此时值sum(这是最大值);此时全部为0,使所有的位置都满足k,枚举起始位置,i从0到(k-1),j从i开始加k,计数需要从0变 阅读全文
posted @ 2020-05-24 00:27 lalallxin 阅读(107) 评论(2) 推荐(0)
摘要: A题:暴力,如果后边的数字有0,后续操作就不会改变,直接退出;同一段代码,放在主函数里就超时,放在主函数外的函数里就能过?! B题:最长上升子序列,O(n2)的复杂度的版本,把判断条件加一个,j是i的倍数,O(n*根号n)的复杂度 C题:固定x+y的值,计算满足z<x+y且c>=z的z的个数,乘积即 阅读全文
posted @ 2020-05-23 10:11 lalallxin 阅读(92) 评论(0) 推荐(0)