摘要:
A - Orac and LCM 先对每一个数字进行质因数分解,记录,该质因数的次方和出现次数。 如果出现了n-1次,那么答案有该质因数最小次方。如果出现了n次,那么答案拥有该质因数次小次方。 #include<iostream> #include<cstring> #include<algorit 阅读全文
摘要:
A #include<bits/stdc++.h> using namespace std; #define ll long long int main(){ ll a,b,c,d; int t; scanf("%d",&t); while(t--){ cin>>a>>b>>c>>d; if(a<= 阅读全文
摘要:
四位dp。 dp[i][j][k][m][cur]表示,第cur位的时候,0,1,2,3出现的最后位置,排序后是:i,j,k,m。(这里并不需要知道排完序后,0,1,2,3究竟是i,j,k,m的哪一个。) 其中,又发现,cur这一位,必定和最大的m相等,所以去掉一位。又可以发现,cur位当且仅能被c 阅读全文
摘要:
有一说一,正常有点简单。 A. 哈希矩阵然后做bfs。写得过于长了,,然后打的时候忘记了,重载怎么打了,就打了一个手写的hash上去。 H. 阅读全文
摘要:
```cpp #include #include #include #include #include #include #include #include #include #include #include #include //#include #include #include #pragma GCC optimize(2) #define up(i,a,b) for(int i=a;ib 阅读全文
摘要:
分块讨论。字典序最小,则,当i 1满足最小时,第i个也必须要满足往后找平均数使得第i个最小。 即,因为答案最后肯定是多个块组成,我们讨论第k块,当第k块最小时,k+1,k+2。。。。往后的所有块,均值一定大于第k快的均值,否则,将后面的块向前合并,一定更优。满足单调性,利用单调栈即可解决。 阅读全文
摘要:
```cpp#include#include#include#include#include#include#include#include#include#include#include#include//#include#include#include #pragma GCC optimize(2)#define up(i,a,b) for(int i=a;ib;i--)#define up... 阅读全文
摘要:
dsu on tree 阅读全文
摘要:
一个正方形肯定只能要么,顺时针要么逆时针转动,因为先顺时针,后逆时针或者相反,是没有意义的。假设第一块正方向顺时针a1次,第二块a2次。。。以此类推,可以得到方程组,横向全部为零,纵向全部为零。 阅读全文
摘要:
树链剖分,利用轻链到根节点小于logn的性质即可。 阅读全文