![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区域赛
丶沙鸥
这个作者很懒,什么都没留下…
展开
-
2021CCPC网络赛重赛 _ 1011 _ HDU7136 _ Jumping Monkey 并查集,重建树
原题链接转载博客写的很好了,这里只做记录:D贴个代码#include<bits/stdc++.h>#define LL long long#define INF INT64_MAX#define MOD 998244353#define ls rt << 1#define rs rt << 1 | 1using namespace std;typedef pair<int,int>pa;const int N = 1e5+7;int原创 2021-10-14 20:14:51 · 116 阅读 · 0 评论 -
2021CCPC网络赛重赛 _ 1005 _ HDU7130 _ Monopoly 正负数同余性质,细节题
原题链接题意:有1-n个节点,从0出发,每次只能往右走一个节点,n的下一步会回到1节点,每走到一个节点获得ai(-1e9-1e9)点分数,m次查询,每次查询最少走多少步分数可以到达x。思路:令从1-n走完一轮的总分数为sum根据每个点的前缀和对sum取余得到的值分组,然后每次查询二分查找x对sum取余同余的那组最优的节点,没有则说明没有合法点思路不难想,赛中一开始想歪了,后面纠正回来的时候没多少时间了,在写法上一直在犹豫,最后成功把自己送走。#include<bits/stdc++.h&原创 2021-10-11 16:29:44 · 206 阅读 · 0 评论 -
“红旗杯”第十五届东北地区大学生程序设计竞赛 D - Lowbit
原题链接题意:n个数,m次操作。操作1:给l,r之间的数加上一个自身的lowbit(二进制下的最低位)。操作2:查询l,r区间和。思路:可以发现进行操作1只有两种情况。1.如果这个数是2的倍数,那么进行操作1只需要*2就可以了。2.如果这个数不是2的倍数,那么就是最低位往左移一位。根据题目中a[i]的范围可以知道一个数最多只能进行15次第二种情况的操作,就是10101010101010101这样的形式的时候。所以可以对不是2的倍数的值进行暴力单点修改,当一个区间内的值都是2的倍数的时候再原创 2021-09-04 18:40:00 · 558 阅读 · 0 评论