LuoguP7369 [COCI2018-2019#4] Elder 题解】的更多相关文章

Content 有一个魔杖最初在 \(Z\) 巫师中.经过 \(n\) 轮较量,第 \(i\) 轮中,\(Z_{i,1}\) 巫师打败了 \(Z_{i,2}\) 巫师.如果一个巫师打败了拥有魔杖的巫师,那么魔杖就到了获胜的巫师手中.问: 最后魔杖在哪个巫师哪里. 魔杖一共经过多少巫师之手. 数据范围:\(n\in[1,100]\). Solution 第一个问题直接模拟,将魔杖按照规则不断传递. 第二个问题开个 \(vis\) 数组,直接判断是否出现过,没出现过标记一下再累加答案即可. Code…
传送门 当我打开比赛界面的时候所有题目都已经被一血了-- BINXOR 直接把异或之后二进制最多和最少能有多少个\(1\)算出来,在这个范围内枚举,组合数算一下就行了.注意\(1\)的个数是\(2\)个\(2\)个变的 //quming #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(R int i=(a)…
考试状况 \(Day1\) \(8:30\) 解压,先打个含头文件和\(freopen\)的模板程序,准备做题. \(8:35\) 开题,心想着按顺序做吧,毕竟难度一般是按顺序排的. 第一题,一眼看过去. 标题:格雷码 描述:格雷码是\(balabala\),有个方法可以生成格雷码\(balabala\) 数据范围:\(long\ long\)内 求\(n\)位格雷码第\(k\)项?第一位看一下在前半还是后半,第二位递归下去--复杂度\(O(n)\),没什么大问题,直接开打. \(8:45\)…
传送门 AFO前的最后一场CC了--好好打吧-- \(SIMGAM\) 偶数行的必定两人平分,所以只要抢奇数行中间那个就行了 这题怎么被爆破了 //quming #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(R int i=(a),I=(b)-1;i>I;--i) #define go(u) for…
题面 \(CIRMERGE\) 破环成链搞个裸的区间\(dp\)就行了 //quming #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(R int i=(a),I=(b)-1;i>I;--i) #define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,…
题面戳这里 A. Diana and Liana 首先如果s>ks>ks>k一定无解,特判一下.那么我们考虑找恰好满足满足题目中的要求的区间[l,r][l,r][l,r],那么需要要删去的数一定是(l−1)%k+max((r−l+1)−k,0)(l-1)\%k+max((r-l+1)-k,0)(l−1)%k+max((r−l+1)−k,0).前面的表示要把[1,l−1][1,l-1][1,l−1]区间删成kkk的倍数,后面的表示要把这个区间删到kkk长度以内.判断这个值是否不大于能够删的…
A Good In C纯模拟题,用string数组读入数据,注意单词数量的判断 #include<bits/stdc++.h> using namespace std; ; ][]; int main () { ;i<=;i++) { ;j<=;j++) cin>>a[i][j]; } string t; getchar (); getline (cin,t); ]; ; ;i<t.length();i++) { if (t[i]>='A'&&…
SNOI 2019 字符串 题目 题解: 解法一: 记一个数组\(f\),\(f[i]=\min_j\ s[j]\neq s[j+1] (j\geq i)\),直接sort即可,复杂度\(O(nlogn)\) #include<bits/stdc++.h> using namespace std; namespace Tzh{ const int maxn=1000010; int f[maxn],rank[maxn],n; char s[maxn]; bool cm(int a,int b)…
题目大意:给定一个有 N 个数的序列,求其最长下降子序列的长度,并求出有多少种不同的最长下降子序列.(子序列各项数值相同视为同一种) update at 2019.4.3 题解:求最长下降子序列本身并不难,是一道非常经典的线性dp问题,关键在于dp计数部分.这道题跟一般的状态转移计数不同,这里并不是按照状态去计数,对于状态来说不会有重复的情况发生. 考虑何时会产生答案重叠.对于序列中两个值相同的元素 \(a_i,a_j,(j<i)\),到 i 之前的序列被这两个相同的元素分成了两部分,即:小于…
目录 T1.签到题(sort) 传送门 Code T2.送分题(queue) 传送门 Code T3.简单题(game) 传送门 Code 咕咕咕 T1.签到题(sort) 传送门 原题:LOJ 2767 Code //2019/2/14 //50pts #include<bits/stdc++.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)<(b)?(a):(b))…