
牛客练习赛65水题
发布日期:2021-05-07 23:18:08
浏览次数:20
分类:原创文章
本文共 2171 字,大约阅读时间需要 7 分钟。
Powered by:AB_IN 局外人
纯模拟题。
mod=998244353n=int(input())s=list(map(int,input().split()))s.sort()if n&1: lst=s[:n//2+1] tmp=s[n//2+1:] ans=1 for i in tmp: ans=ans*i%mod print(sum(lst)*ans*tmp[-1]%mod)else: lst=s[:n//2] tmp=s[n//2:] ans=1 for i in tmp: ans=ans*i%mod print(sum(lst)*ans%mod)
又搞了个cost最少,跟B干上了??
#include <bits/stdc++.h>#pragma GCC optimize(2)#pragma GCC optimize(3)typedef unsigned long long ll;const ll maxn=1e12;using namespace std;namespace IO{ char ibuf[1<<21],*ip=ibuf,*ip_=ibuf; char obuf[1<<21],*op=obuf,*op_=obuf+(1<<21); inline char gc(){ if(ip!=ip_)return *ip++; ip=ibuf;ip_=ip+fread(ibuf,1,1<<21,stdin); return ip==ip_?EOF:*ip++; } inline void pc(char c){ if(op==op_)fwrite(obuf,1,1<<21,stdout),op=obuf; *op++=c; } inline ll read(){ register ll x=0,ch=gc(),w=1; for(;ch<'0'||ch>'9';ch=gc())if(ch=='-')w=-1; for(;ch>='0'&&ch<='9';ch=gc())x=x*10+ch-48; return w*x; } template<class I> inline void write(I x){ if(x<0)pc('-'),x=-x; if(x>9)write(x/10);pc(x%10+'0'); } class flusher_{ public: ~flusher_(){ if(op!=obuf)fwrite(obuf,1,op-obuf,stdout);} }IO_flusher;}using namespace IO;ll quickmod (ll a, ll b ,ll c){ ll ret=1%c; while(b){ if(b&1) ret=ret*a%c; a=a*a%c; b=b>>1; } return ret;}map<ll,int>vis;ll n,m,k,mod,x,ans,max_1=0;int main(){ n=read();m=read();k=read();mod=read(); if (k == 1) { puts("1"); return 0; } for(ll i=0,j=1;j<=maxn;i++,j*=k) vis[j]=i; for(int i=1;i<=n;i++){ ans=0; for(int j=1;j<=m;j++){ x=read(); ans+=vis[x]; } if (ans > max_1) max_1 = ans; } write(quickmod(k,max_1,mod)); pc('\n');}
- 更新了读入会爆
long long
的bug,以后会用这个读入。 - 注意到相乘的都是 k x k^{x} kx
那么不妨变成这样 k x 1 + x 2 + x 3 + . . . . . + x m k^{x1+x2+x3+.....+xm} kx1+x2+x3+.....+xm
只需要算x
的和即可,之后对式子进行快速幂取模即可。
-
那么怎么判断是不是k的非负整数次幂呢?
可以把数值作为键,幂作为值,存入
map
中。这是一种非常好的思维,巧妙的运用map
不会爆的性质,max_1
加上这个数的下标即可。如果以数值为下标,幂为键的话,数值肯定会爆ull
。
一直赶不上rank,一直白名。
哎。
完结。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月14日 15时07分59秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python3基础梳理11python中模块和包
2021-05-08
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
2021-05-08
jQuery实现轮播图效果
2021-05-08
mybatis中like的注意
2021-05-08
sqlplus的基本使用
2021-05-08
oracle删除表重复数据
2021-05-08
Oracle删除主表数据
2021-05-08
js中两种定时器,setTimeout和setInterval实现验证码发送
2021-05-08
Oracle常用SQL
2021-05-08
技术美术面试问题整理
2021-05-08
Redis分布式锁原理
2021-05-08
【备份】求极限笔记
2021-05-08
C++学习记录 四、基于多态的企业职工系统
2021-05-08
C++学习记录 五、C++提高编程(2)
2021-05-08
面试问道nginx优化怎么做的
2021-05-08
自学linux毕业shell面试题
2021-05-08
4 Java 访问控制符号的范围
2021-05-08
第9章 - 有没有替代原因(检验证据)
2021-05-08
VUE3(八)setup与ref函数
2021-05-08