摘要:
已经有两年多没有写过博客了,退役也两年多了。 最近脑子一热突然想开始认真写博客,风格和方向会转变一下吧,毕竟也不再是ACMer和OIer了。 小刘现在在某P开头的学校读水硕,研一,每天在躺平和内卷之间来回横跳。目前的规划是研一在学校做做科研,发发呆,运气好的话再发两篇文章,研二去工业界实习。 目前在 阅读全文
摘要:
D. GCD Counting 题意: 给出n个点的树,每个点有一个权值,找出一条最长的路径使得路径上所有的点的gcd>1 题解: gcd>1的一定不会有很多。所以暴力搞一下就行,不需要点分治。 1 #include <cstdio> 2 #include <algorithm> 3 #includ 阅读全文
摘要:
B. Digital root 题意: 题目定义了x的digital root是S(x)。S(5)=5,S(38)=S(3+8=11)=S(1+1+2)=2. 有n个询问,每次询问给出ki和xi,要你求出digital root为xi的整数中,第k大的是什么。 题解: 观察可以发现,x的digita 阅读全文
摘要:
B. Game with string 题意: 给出一个字符串s只包括小写字母。当轮到一个玩家的时候,他可以选择两个连续且相等的字母并且删除它。当一个玩家没得删的时候他就输了。 题解: 乍一看有点懵,像dp,但是观察一下就发现输赢和顺序无关,只跟能组成相同的对数量有关,这个数量是一定的。那么我们用栈 阅读全文
摘要:
A. Integer Sequence Dividing 1 #include <cstdio> 2 3 using namespace std; 4 int n; 5 6 int main(){ 7 scanf("%d",&n); 8 if((n+1)%2==0){ 9 n=(n+1)/2; 10 阅读全文
摘要:
A. Lunar New Year and Cross Counting 题解: 1 #include <cstdio> 2 3 using namespace std; 4 const int maxn=500+10; 5 const int dx[]={1,1,-1,-1}; 6 const i 阅读全文
摘要:
B:Squares and Segments 题意: 给定n,求最小的a+b使得a*b>=n 题解: 直接开平方最优。 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #include <iostream> 5 #i 阅读全文
摘要:
C: 题意: 有n个整数ai,数列a有两个神奇的性质。1.所有的整数都在[l,r]范围内。2.这n个数的和能被3整除。现在给出l和r,和个数n,问你有多少种方法构造出数列a,方案数mod1e9+7. 题解: 一个数被3除只有三种可能。1.整除,2.余1,2.余2. 然后我们再想这个问题,[l,r]区 阅读全文
摘要:
E: 题意: 给出n个整数ai和m个区间[li,ri] 你可以选择一些区间,并且将区间内的数字都减一。你要选择一些区间,然后使得改变后的数列中maxbi-minbi的值最大。 题解: 假设我们已经知道了这n个数中最大值的位置pmax,和最小值的位置pmin,那么对于一个区间[li,ri],有三种情况 阅读全文
摘要:
D. Dasha and Chess 交互题。题意: 有666个黑色的车和1个白色的国王在999*999的棋盘上,当白色的国王和任意一个黑色的车处于同一行,同一列的时候,白色国王胜利。白色的国王开始先行棋,NN执白,每一步可以横着,竖着或者斜着走一格,如果目标格子上已经有棋了那么就不能走。黑色的车每 阅读全文