2017 国庆湖南 Day3】的更多相关文章

期望得分:100+30+60=190 实际得分:10+0+55=65 到了233 2是奇数位 或223 第2个2是偶数位就会223 .233 循环 #include<cstdio> #define N 1000001 using namespace std; ]; int main() { freopen("trans.in","r",stdin); freopen("trans.out","w",stdout);…
期望得分:76+80+30=186 实际得分:72+10+0=82 先看第一问: 本题不是求方案数,所以我们不关心 选的数是什么以及的选的顺序 只关心选了某个数后,对当前gcd的影响 预处理 cnt[i] 表示 i的倍数有多少个 g[i][j] 表示gcd(i,第j张卡片上的数) dp[i][j] 表示已经选了i个数,gcd=j 的 概率 再选k,要么gcd不变,要么变小 1.gcd不变 即k是j的倍数,因为已经选了i个且都是j的倍数,所以在剩下的n-i 个数中,还有 cnt[j]-i 个数可以…
期望得分:100+100+60=260 实际得分:100+85+0=185 二分最后一条相交线段的位置 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #define N 100001 int x[N],y[N]; struct node { int b; double k; }Point[N]; void read(int &x) { x=; char c…
卡特兰数 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ]; int main() { freopen("stack.in","r",stdin); freopen("stack.out","w",stdout); int n; scanf("%d",&n);…
期望得分:20+40+100=160 实际得分:20+20+100=140 破题关键: f(i)=i 证明:设[1,i]中与i互质的数分别为a1,a2……aφ(i) 那么 i-a1,i-a2,…… i-aφ(i) 也与i互质 所以 Σ ai = i*φ(i)- Σ ai 所以 Σ ai = i*φ(i)/2 所以 f(i)Σai / φ(i) * 2 = i 问题转化为 求 Σ i^k 用拉格朗日差值法 我是真没看懂 题解: std: #include <cstring> #include &…
期望得分:100+30+100=230 实际得分:100+30+70=200 T3 数组开小了 ..... 记录 1的前缀和,0的后缀和 枚举第一个1的出现位置 #include<cstdio> #include<cstring> #include<algorithm> #define N 100002 using namespace std; char s[N]; int num[N]; int suf0[N],pre1[N]; int main() { freope…
期望得分:100+100+20=220 实际得分:100+100+20=220 (好久没有期望==实际了 ,~\(≧▽≦)/~) 对于 a........a 如果 第1个a 后面出现的第1个b~z 是右端点,且在第2个a之前,那么有贡献 如果 第2个a 前面出现的第1个b~z 是左端点,且在第1个a之后,那么有贡献 最后的贡献/2 #include<cstdio> #include<cstring> #define N 100001 using namespace std; cha…
期望得分:60+ +0=60+ 实际得分:30+56+0=86 时间规划极端不合理,T2忘了叉积计算,用解析几何算,还有的情况很难处理,浪费太多时间,最后gg 导致T3只剩50分钟,20分钟写完代码,没调出来 设sum[i][j] 表示字母j出现次数的前缀和 那么题目要求我们 最大化sum[r][x]-sum[l-1][x]-(sum[r][y]-sum[l-1][y]) 如果枚举r,再枚举y,时间复杂度为O(n*26),是可以承受的 但此时还有l-1未知,能否O(1)找到l-1呢? 我们发现式…
T1 动态逆序对 题目 [题目描述] 给出一个长度为n的排列a(1~n这n个数在数列中各出现1次).每次交换两个数,求逆序对数%2的结果. 逆序对:对于两个数a[i],a[j](i<j),若a[i]>a[j],则(a[i],a[j])为1个逆序对. [输入格式] 第一行一个正整数n. 接下来一行n个数,表示给出的排列a. 接下来一行一个正整数q. 接下来q行,每行两个正整数i,j,表示交换a[i]和a[j]. [输出格式] 输出共q行,表示每次交换后的逆序对数%2的结果. [输入样例] [输出…
题目背景 2017国庆清北D1T1 题目描述 你是能看到第一题的 friends 呢. ——hja 何大爷对字符串十分有研究,于是天天出字符串题虐杀 zhx.何大爷今天为 字符串定义了新的权值计算方法.一个字符串由小写字母组成,字符串的权值 被定义为其中出现次数最多的字符的次数减去出现次数最少的字符的次数. (注 意,在讨论出现最少的字符的时候,该字符必须至少出现一次)现在何大爷给 你一个字符串,何大爷想知道这个字符串的所有子串中权值最大的权值是多 少? 输入输出格式 输入格式: 第一行一个整数…