
AtCoder Beginner Contest 100 题解
发布日期:2021-05-09 00:23:52
浏览次数:11
分类:博客文章
本文共 1101 字,大约阅读时间需要 3 分钟。
A
抽屉原理
#includeusing namespace std;int main(){ int a,b; cin>>a>>b; if(a<=8 && b<=8) puts("Yay!"); else puts(":("); return 0;}
B
特判 n==100
情况
#includeusing namespace std;int pow_(int x,int p){ int res=1; while(p--) res=res*x; return res; }int main(){ int d,n; cin>>d>>n; if(n==100) n++; cout< <
C
#includeusing namespace std;int main(){ int n; cin>>n; int cnt=0; while(n--){ int k; cin>>k; while(!(k&1)) k>>=1, cnt++; } cout< <
D
枚举统计贡献时候三个属性( \(u,v,w\) )贡献的和是正还是负,然后对 \(2^3\) 种情况求个最大值。
#includeusing namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)typedef long long ll;const int N=1005;struct node{ ll u,v,w;}a[N], b[N];int f[4];bool cmp(node x,node y){ ll kx=x.u+x.v+x.w, ky=y.u+y.v+y.w; return kx>ky;}int main(){ int n,m; cin>>n>>m; rep(i,1,n){ ll u,v,w; cin>>u>>v>>w; a[i]={u,v,w}; } ll res=0; rep(i,0,(1<<3)-1){ rep(j,0,2) f[j]=(i>>j&1)?1:-1; rep(p,1,n) b[p]={f[0]*a[p].u, f[1]*a[p].v, f[2]*a[p].w}; sort(b+1,b+1+n,cmp); ll rec=0; rep(i,1,m) rec+=b[i].u+b[i].v+b[i].w; res=max(res,rec); } cout< <
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年03月29日 01时20分59秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
采坑 - 字符串的 "" 与 pd.isnull()
2021-05-09
无序列表 - 链表
2021-05-09
SQL 查询强化 - 数据准备
2021-05-09
SQL 强化练习 (四)
2021-05-09
Excel 拼接为 SQL 并打包 exe
2021-05-09
Pandas数据分析从放弃到入门
2021-05-09
Matplotlib绘制漫威英雄战力图,带你飞起来!
2021-05-09
机器学习是什么
2021-05-09
《小王子》里一些后知后觉的道理
2021-05-09
《自私的基因》总结
2021-05-09
《山海经》总结
2021-05-09
《非暴力沟通》总结
2021-05-09
《你当像鸟飞往你的山》总结
2021-05-09
《我是猫》总结
2021-05-09
《抗糖化书》总结
2021-05-09
apache虚拟主机配置
2021-05-09
光盘作为yum源
2021-05-09
PHP 正则表达式资料
2021-05-09
PHP官方网站及PHP手册
2021-05-09
mcrypt加密以及解密过程
2021-05-09