摘要: 题目链接 HDU 6560 题解思路: 首先,我们根据题目给的条件能归结出几个不等式: (1) k <= j < i ; (2) k >= i - rad[i] + 1 >=1; (3) k >= j - rad[j] + 1 >=1; (4) i <= j + rad[j] -1 ; (5) j 阅读全文
posted @ 2019-09-11 18:02 Mmasker 阅读(217) 评论(0) 推荐(0)
摘要: 题目链接 题解思路:把每两个点的对称中心用map记录下来,最后的答案就是n减去成为中心对称的点的最多次数。 #include<bits/stdc++.h> using namespace std; #define maxn 1005 #define ll long long typedef pair 阅读全文
posted @ 2019-09-10 16:07 Mmasker 阅读(102) 评论(0) 推荐(0)
摘要: 看了好多篇别人写的题解,感觉好像不少用unordered_map的都有点错误,于是自己来写一篇。 题目链接 #include<bits/stdc++.h> using namespace std; #define maxn 300005 #define ll long long const int 阅读全文
posted @ 2019-09-10 15:40 Mmasker 阅读(106) 评论(0) 推荐(0)
摘要: 本题解借鉴了某大佬的博客,由于那篇博客里有点小错误,因此我这里重写一篇,希望大家在看到我的博客的同时也关注一下那位大佬。 大佬博客地址 题目链接 题解思路:很显然,要使奥特曼受到的伤害最小,肯定要先杀死一只怪兽,所以我们就分类讨论先杀A还是先杀B。 //不少人可能会说比较一下A,B的攻击力,先杀攻击 阅读全文
posted @ 2019-09-10 10:52 Mmasker 阅读(373) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; #define maxn 100005 #define ll long long typedef pair<int,int> PII; const int mod = 998244353; const int 阅读全文
posted @ 2019-09-09 11:30 Mmasker 阅读(151) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; #define maxn 100005 #define ll long long #define ls l,mid,rt<<1 #define rs mid+1,r,rt<<1|1 typedef pair<i 阅读全文
posted @ 2019-08-19 17:04 Mmasker 阅读(121) 评论(0) 推荐(0)
摘要: 题目链接 题解思路:对于每个位置,求出需要减掉的数 然后在权值线段树上进行二分找答案。 #include<bits/stdc++.h> using namespace std; #define maxn 200005 #define ll long long #define ls l,mid,rt< 阅读全文
posted @ 2019-08-15 18:00 Mmasker 阅读(157) 评论(0) 推荐(0)
摘要: 题目大意:给你一个质数P,要你求出P的上一个质数Q,求Q! % P的值。 题解思路:根据威尔逊定理可知如果P是一个素数,那么( P - 1 )! ≡ -1 % P,然后我们就可以将我们要求的式子进行转化,( P - 1 )! = Q! * ( Q+1 )( Q+2 ) * … * ( P-1 ),所 阅读全文
posted @ 2019-08-07 15:15 Mmasker 阅读(131) 评论(0) 推荐(0)
摘要: 找左右第一个小于自己的值: int top=0; for(int j = m ; j >= 1 ; -- j){ while(top!=0&&s[i][j]<s[i][st[top]]) l[st[top]]=j,top--; st[++top]=j; } top=0; for(int j = 1 阅读全文
posted @ 2019-07-23 15:14 Mmasker 阅读(109) 评论(0) 推荐(0)
摘要: 1.线性素数筛 int prime[MAXN],vis[MAXN]; int cnt; void init(){ for(int i=2;i<MAXN;i++){ if(!vis[i])prime[++cnt]=i; for(int j=1;j<=cnt;j++){ if(i*prime[j]>=M 阅读全文
posted @ 2019-07-23 12:56 Mmasker 阅读(170) 评论(0) 推荐(0)