AtCoder Beginner Contest 172总结
A-calc
直接按照题目输出就行
#include<iostream>
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int a;cin>>a;cout<<a+a*a+a*a*a<<endl;return 0;}
B-Minor Change
题中默认肯定能够从S替换到T那么直接不相等的位置替换
#include<iostream>
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int res=0;string a,b;cin>>a>>b;for(int i=0;i<a.size();i++) res+=int(a[i]!=b[i]);cout<<res<<endl;return 0;
}
C-Tsundoku
前缀和+双指针
注意:最后一步枚举i一定要从0开始,可把我坑惨了!!!
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=200010;
ll a[N],b[N];
int n,m;
ll k;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int res=0;cin>>n>>m>>k;for(int i=1;i<=n;i++) {cin>>a[i];a[i]+=a[i-1];}for(int i=1;i<=m;i++){cin>>b[i];b[i]+=b[i-1];}for(int i=0,j=m;i<=n;i++)//这里i一定要从0开始循环要不然会漏掉不在a数组中选数的情况{while(j&&a[i]>k-b[j]) j--;if(a[i]<=k-b[j]) res=max(res,i+j);}cout<<res<<endl;return 0;
}
就做了上面三个题太菜了-。-
D - Sum of Divisors
当时一看求质因数个数,就想到分解质因数求,发现复杂度O(n1.5)O(n^{1.5})O(n1.5)吃不消就没有然后了。。。
对于一个数,它是它倍数的因数,所以我们从1到N枚举一个数,加上它的所有倍数的和就可以算出答案了。
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
typedef long long ll;
int n;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n;ll res=0;for(int i=1;i<=n;i++)for(int j=i;j<=n;j+=i) res+=j;//相当于乘kcout<<res<<endl;return 0;
}
E - NEQ
这两天补了数学的知识,发现好像可以看懂题解了。容斥原理,如果确定A的情况,那么B的合法情况可以用所有情况除去不合法情况,不合法情况可以用容斥原理求,最后乘以A的合法情况就可以了。
PS:注意输出
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=500005,mod=1e9+7;
int n,m,fact[N],infact[N];
int qmi(int a,int k,int p)
{int res=1;while(k){if(k&1) res=1ll*res*a%p;k>>=1;a=1ll*a*a%p;}return res;
}
void init()
{fact[0]=infact[0]=1;for(int i=1;i<=m;i++){fact[i]=1ll*fact[i-1]*i%mod;infact[i]=qmi(fact[i],mod-2,mod);}
}
int main()
{IO;cin>>n>>m;init();ll res=0;for(int i=0;i<=n;i++) {if(i&1) res=(res-1ll*fact[n]*infact[i]%mod*infact[n-i]%mod*fact[m-i]%mod*infact[m-n]%mod)%mod;else res=(res+1ll*fact[n]*infact[i]%mod*infact[n-i]%mod*fact[m-i]%mod*infact[m-n]%mod)%mod;}for(int i=m-n+1;i<=m;i++) res=res*i%mod;//cout<<res%mod<<endl;这样输出一直wa第8个测试数据要输出正数,这样输出由于c++内部原因可能输出负数res%=mod;cout<<(res+mod)%mod<<endl;
}
哎我tcl剩下的题先放放吧。
AtCoder Beginner Contest 172总结相关推荐
- AtCoder Beginner Contest 172 E - NEQ(二项式反演)
AtCoder Beginner Contest 172 E - NEQ 题意: 求满足下列条件的长度为 NNN且包含 [1,M][1, M][1,M]范围内整数的序列 A1,A2,⋯,ANA_1, ...
- AtCoder Beginner Contest 172 总结
颓了三天端午回来打比赛,还是秒切前几道水题但做不动后面的难题,任重道远啊. 前四题思路都比较简单,C枚举一个数组的前缀和并用差值在另外一个数组里二分查找,D可以线性筛约数个数函数然后暴力算,也可以分析 ...
- AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...
- AtCoder Beginner Contest 197 题解(A ~ F)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...
- AtCoder Beginner Contest 198 (A ~ F)题解
目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...
- AtCoder Beginner Contest 215 G - Colorful Candies 2
AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...
- AtCoder Beginner Contest 215 F - Dist Max 2
AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi,yi),定义两点(xi,yi),(xj,yj)(x ...
- AtCoder Beginner Contest 215 E - Chain Contestant
AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...
- AtCoder Beginner Contest 204 F Hanjo 2
AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...
最新文章
- 也论标准: 统一是啥好事情?
- Coursera课程Python for everyone:chapter8
- python超时退出进程_Python如何实现让一个函数超时退出?
- Codevs 1519 过路费(Mst+Lca)
- Scala入门到精通——第十七节 类型参数(一)
- Qt路径中常用字符“./”、“../”、“/”、“*”的含义
- Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)
- djnago 模型 新建对象id为空
- itext汇总 生成pdf
- .sql导入中文显示乱码解决方法
- ASP.NET中实现模版的动态加载(转)
- db2 reorg(转)
- 开源一个安信可A9g小项目微信小程序定位器项目①如何在windows10上环境搭建,编译烧录代码固件,查看运行日志;
- 大规模行人检索—PRCV2020竞赛发布
- 家谱整站源码php_基于PHP语言家谱网站设计与实现.doc
- Spark 小文件合并优化实践
- 标准差(Standard Deviation) 和 标准误差(Standard Error)
- Weighted Median
- 整理任正非思想:团结奋斗 再创华为佳绩-1994
- python面向对象练习——飞机大战
热门文章
- linux备份文件到ftp上,Linux服务器下用FTP上传下载备份文件
- php 下拉表单,PHP表单和填充下拉列表问题
- linux自动应答,08. 创建 ks.cfg自动应答文件
- mybatis mysql usegeneratedkeys_mybatis中useGeneratedKeys用法--插入数据库后获取主键值
- 算法题目——省份数量(dfs,bfs)
- 4位无符号比较器设计
- [JavaWeb-XML]XML约束概述
- 计算机用英语表示方法有哪些,在计算机领域中,通常用英文单词“bit”来表示( )...
- django mysql connector,MySQL Connector / python在Django中不起作用
- 对pca降维后的手写体数字图片数据分类_机器学习:数据的准备和探索——特征提取和降维...