随笔分类 -  枚举

上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 先处理出来任意一棵树。 然后把不是树上的边处理出来 对于每一条非树边的点(最多21 2个点) 在原图上,做dijkstra 这样就能处理出来这些非树边上的点到其他任意点的最短路了。 然后对于询问x,y 先用LCA+预处理,求出树上的最短路。 接 阅读全文
posted @ 2018-11-14 20:08 AWCXV 阅读(182) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 【代码】 cpp include using namespace std; const int N = 2e5; int n,m,l; char s[N+10]; int a[N+10],b[N+10],c[N+10]; bool test(i 阅读全文
posted @ 2018-11-06 17:17 AWCXV 阅读(210) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 绕(x,y,z)三个轴旋转。 枚举x,y,z各4次的结果。 (4次之后能还原。可以方便上一层枚举下一个情况。) 【代码】 cpp include define rep1(i,a,b) for (int i = a;i = b;i 阅读全文
posted @ 2018-10-29 22:40 AWCXV 阅读(106) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 注意那个星号的数量。。。 然后V x y的话,是从(y,x)向(y+1,x)连线。 H x y才是从(x,y)向(x,y+1)连线 枚举以(x,y)作为左上角的举行就ok了 【代码】 cpp include using name 阅读全文
posted @ 2018-10-26 11:06 AWCXV 阅读(115) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个序列. 你可以选择起点i。 然后每次往右跳k次。 得到下一个值a[i+k];。 问你跳m次能得到的最大值ma是多少。 如果 =s输出0 否则输出s ma; 【题解】 最后肯定会形成gcd(n,k)个环的。 对于每个环(长度为cnt。 预处理出从1 阅读全文
posted @ 2018-09-25 11:26 AWCXV 阅读(112) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你n个数对(ai,bi)。 让你求一个大于1的数字x 使得对于任意的i x|a[i] 或者 x|b[i] 【题解】 求出第一个数对的两个数他们有哪些质因子。 显然用这些质因子去试2..n就可以了。 看哪个可以满足 就输出对应的就可以了。 (一开始我求出 阅读全文
posted @ 2018-08-20 10:10 AWCXV 阅读(182) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 给你一棵树。 让你统计其中子树T的数量。 这个子树T要满足最大值和最小值之差小于等于d 树形DP 可以枚举点root为子树的根。 统计以root为根的子树的个数。 根据每个儿子节点选或者不选。 如果选。则看看它是否满足以下条件: 阅读全文
posted @ 2018-07-18 19:58 AWCXV 阅读(131) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你n个数字 让你删掉最小的数字 使得: 剩余的数字中 "最大的数字"小于等于"最小的数字 2" 【题解】 把数据从小到大排序。 显然只有删掉最小的数字或者最大的数字才可能改变最大数字和最小数字的比例 那么我们枚举最后的结果产生的那一刻最小的数字是什么。 阅读全文
posted @ 2018-07-14 16:32 AWCXV 阅读(122) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 转化一下思路。 我们求出任意两个点之间到达 最少经过的障碍物的个数。 最后求出障碍物个数小于等于T的 枚举答案就好。 (任意两点间最少障碍物可以用一个类似spfa的方法求得 (很巧妙的转换 【代码】 cpp include de 阅读全文
posted @ 2018-05-06 20:31 AWCXV 阅读(131) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 暴力枚举船的左上角。 然后统计每个点被覆盖次数就好。 【代码】 cpp include define LL long long define rep1(i,a,b) for (int i = a;i = b;i ) define 阅读全文
posted @ 2018-04-26 04:15 AWCXV 阅读(254) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举那个人收到了几次糖i. 最好的情况显然是其他人都只收到i 1次糖。 然后这个人刚好多收了一次糖 也即 (i 1) k x + x M了 那么令x = M; 但这个时候。 要判断一下改变之后的x,按照顺序分的时候是否还能满足这 阅读全文
posted @ 2018-04-26 04:13 AWCXV 阅读(317) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 floyd算法 算出任意两点之间的最短路,以及最短路的条数。 然后三重循环枚举v,s,t就好 看看s到t的最短路径不经过v 经过的话增加答案贡献 $O(n^3)$ 【代码】 cpp include include define 阅读全文
posted @ 2018-03-27 09:46 AWCXV 阅读(121) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 $x^2%n=1$ $x^2 1 = k n$ $(x+1) (x 1) % n == 0$ 设$n=a b$ 对于所有的a,b(a 【代码】 阅读全文
posted @ 2018-03-23 23:20 AWCXV 阅读(177) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 注意是1..n的排列。 设b的位置为i. 设i右边的数字,比b大的为1,比b小的为 1. (i左边的位置数字也一样设置成1和 1 则处理出pre[i..j]表示i..j这一段(1和 1)的和。 然后存在map中 做散列表。 然后 阅读全文
posted @ 2018-03-22 22:02 AWCXV 阅读(189) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 一开始以为可以炸多次。 然后发现是一次。 那么久直接做个前缀和就好了 枚举正方形的左上角。 然后刚好和网格对齐的话。 肯定没有放在(x+0.1,y+0.1)这个地方好。 这样可以把边缘的炸掉。 然后为了方便处理。 x和y都递增1 阅读全文
posted @ 2018-03-20 08:52 AWCXV 阅读(182) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 二维的ST表。 每个大的正方形可以由4个小的正方形组成。 然后区域内的最大值最小值。也可以由4个小的张方形部分全部覆盖到。 【代码】 cpp include define LL long long define rep1(i,a 阅读全文
posted @ 2018-03-07 11:38 AWCXV 阅读(102) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 添加两个y坐标0和h 然后从这n+2个y坐标中任选两个坐标,作为矩形的上下界。 然后看看哪些点在这个上下界中。 定义为坐标集合S S中的点的相邻x坐标差和上下界的差的较小值是这个矩形能够构成的最大正方形。 枚举所有情况就好。 【 阅读全文
posted @ 2018-02-23 16:40 AWCXV 阅读(195) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举N[q]和N[r]的位置 因为N[q]是最大值,且N[r]是最小值。 且它们是中间的两个。 枚举这两个可以做到不重复枚举。 然后假设我们枚举了q和r的位置分别为i和j (a[i] a[j] 那么我们接下来需要得到两个东西。 阅读全文
posted @ 2018-02-20 19:50 AWCXV 阅读(238) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 处理处所有的字符串可能的样子。 存在map里面就好。 【代码】 cpp include using namespace std; const string S[8] = {"vaporeon", "Jolteon", "Flar 阅读全文
posted @ 2018-02-02 11:22 AWCXV 阅读(140) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 看看有没有(n 2) 180/n等于输入的a就好。 【代码】 cpp include using namespace std; int main() { int T; cin T; while (T ){ int a; cin 阅读全文
posted @ 2018-02-02 11:18 AWCXV 阅读(152) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 15 下一页