上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页
摘要: 题目: 分析: (这道题是真的难)(声明: 在这位大佬的题解下多做了说明,图片来源也是他的博客。) 首先我们要发现一些小规律: 1.将A和B排序之后并不影响答案 证明:不管哪一列排序放到了哪里,那一列的最大值都应该是Ai。 2.A的最大一定等于B的最大: 很显然,如果不等于,那么最大值放在哪里都不合 阅读全文
posted @ 2019-10-05 19:53 rua-rua-rua 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 首先画样例分析一下,会发现如果要求一个位置要多少次翻转,就将这个位置向与它关联的点连边(关联点指的是可能与它值互换的位置),一直连到起点为止,连边的次数即为它所需步数。 所以转换成求单源最短路,因为边权为1,可以用bfs。 但是这道题n的范围很大,刚刚的做法是n*k的,考虑优化。 法 阅读全文
posted @ 2019-10-05 19:31 rua-rua-rua 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 考虑最暴力的暴搜,怎么才能优化呢? 如果我们确切地知道第k大的路径权值和有多大,那么在dfs里面加一个限制就可以求出所有前k大的路径了。 很显然答案是满足单调性的。 可以二分一个答案,dfs一遍,看满足这个答案的有多少条路径,如果超过k条,就往大的走。 最后把二分出来的答案跑一遍df 阅读全文
posted @ 2019-10-05 11:43 rua-rua-rua 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 首先理解题意:zyg要和每一个人都打比赛,且只有输和赢两种情况,也就是说没打赢的人最后得分要++。 我们希望zyg打赢的人尽量地少,且rp值小。 先对比分大小排序,估计一下对应排名的最小分数sc,再按rp从小到大排序,然后分情况贪心: 1.使其最终得分为sc+2: 只需要打赢前sc+ 阅读全文
posted @ 2019-10-04 22:03 rua-rua-rua 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 由数据范围可知:前五个点是Floyd,后五个点是一颗树,两两点之间的路径是唯一的,只需要求lca即可。 Floyd注意实现细节: 1.初始化时要把dis[i][i]赋成0 2.只有1个dis数组 倍增注意: 统计答案的时候要先统计在跳fa!! #include<bits/stdc++ 阅读全文
posted @ 2019-10-04 21:25 rua-rua-rua 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析:(终于在yyr大佬的援助下弄懂了这道题。。。) 首先lcm>n的限制太少,不好直接处理,转换成求补集,也就是lcm<=n,最后用n^n-ans即可。 考虑怎么求lcm<=n: #include<bits/stdc++.h> using namespace std; #define ll 阅读全文
posted @ 2019-10-04 21:10 rua-rua-rua 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 因为原序列是一个环,所以要断环为链,将序列复制一份放在后面。 显然将R移动到一块的同时,B也会在一块,所以只需要求R移动到一起的贡献即可。 枚举一个分界点,让这个点左边所有的R都向左靠,右边所有的R都向右靠。这时候一定是满足题意的。 但会发现,同一个分界点,随着断环的位置改变,统计出 阅读全文
posted @ 2019-10-04 17:29 rua-rua-rua 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 考虑最暴力的办法:枚举选哪个数,枚举对手在哪个时间变化,然后统计答案。 对于异或这一类问题,考虑区间异或可以抵消重复区间,维护一个前缀异或和:pre[i]表示1~i的异或和,suf[i]表示i~n的异或和。 将对手的式子化简,2*x即将x向左移一位,/( 2^n )为向右移n位,+2 阅读全文
posted @ 2019-10-03 19:08 rua-rua-rua 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目: 求一张无向图从1走到N的必经点 n<=2e5 m<=4e5 分析: 必经点意为:删除后整个图不连通,但不能直接求割点。因为删掉的那个点可以使图不连通,但不能保证1与n不连通。 所以要删的是在1到n路径上的点。也就是说,删掉的点能使1和n隔开。 法1: tarjan判环的时候从1开始,并维护一 阅读全文
posted @ 2019-10-03 18:57 rua-rua-rua 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 暴力:每一次对区间暴力排序。 优化:如果可以知道一个区间中有哪种字符,这些字符分别有多少个,就可以直接按字典序枚举,将它们快速地插入区间中了。 题中有一个重要信息:只有小写字母,即只有26种字符。 第一种方法: 可以用一个线段树来维护,每个节点储存26个字符在这个区间中的对应情况。每 阅读全文
posted @ 2019-10-01 14:09 rua-rua-rua 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页