当前位置:网站首页>Codeforces Round #716 (Div. 2)
Codeforces Round #716 (Div. 2)
2022-06-27 19:14:00 【我的故事用酒换】
2021.4.19
A
题意:给你n个数的序列,问你是否存在子序列的乘积不是一个平方数
题解:判断n个数的序列是否都是完全平方数
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
int n,x,t;
cin>>t;
while(t--){
cin>>n;
int flag=0;
for(int i=0;i<n;i++)
{
cin>>x;
int k=(int)sqrt(x);
if(k*k!=x)
flag=1;
}
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
B
题意:输入两个数n和k,要求构造一个含n个数的序列,且选择的n个数需要从0~
中去选择,要求所有元素按位与为0且所有元素和最大,求可以构造的方案数。
题解:序列需从0~
中选择,所以可以看成每个数都可以化成长度为k的二进制数,要求所有元素按位与为0,k位的二进制每一位都要有一个0,这k个0是从n个数中贡献,要求和最大,所以每一位有且只有一个0,其他同位的都要为1,那么每一个0都可以放在n个数的对应位上,每一个0有n个选择,总共有k个0,答案就是
%1e9+7。
#include <cstdio>
#include <iostream>
#include <algorithm>
#define ll long long
#define mod 1000000007
using namespace std;
ll qpow(ll a,ll b)
{
ll res=1;
while(b)
{
if(b%2)
res=res*a%mod;
a=a*a%mod;
b/=2;
}
return res;
}
int main()
{
ll t,n,k;
cin>>t;
while(t--)
{
cin>>n>>k;
cout<<qpow(n,k)%mod<<endl;
}
return 0;
}
C
题意:输入一个数n,从 [1,2,…,n−1]选出长度最长的序列,使得序列的积取余n为1
题解:
裴属定理:对于非负整数a,b,存在x,y使得ax+by=gcd(a,b),也就是说ax+by能构成的最小正整数就是gcd(a,b),注意(a,b不同时为0)
ax+by=c有解当且仅当c%gcd(a,b)==0,如果gcd(a,b)>1那么c一定大于1,所以gcd(k,n)>1,
,所以要求序列的乘积%n=1,需要从gcd(k,n)=1中去找。
令:
,这时sum
[1,n),要求求余为1,则ans=sum/sum=1,将乘积里的sum去除掉序列的乘积就是1,这样只需要删除一个数就可得到序列乘积取余n为1。
那为什么sum就一定是在s里呢?
假设没有取模,最后得到的结果ans%n=1,所以ans一定是s里的数乘积得到的,而sum是s里的所有数乘积得到的,ans*x=sum,所以这个x一定是s里的数,也就是上述取模后的sum,所以是可以去从s里去除掉的。
#include <cstdio>
#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;
ll gcd(ll a,ll b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
ll n,ans=1,a[100005],l=0;
cin>>n;
for(int i=1;i<n;i++)
{
if(gcd(i,n)==1){
a[l++]=i;
ans=(ans*i)%n;
}
}
if(ans!=1){
cout<<l-1<<endl;
for(int i=0;i<l;i++)
if(a[i]!=ans)
cout<<a[i]<<' ';
}
else{
cout<<l<<endl;
for(int i=0;i<l;i++)
cout<<a[i]<<' ';
}
cout<<endl;
return 0;
}
边栏推荐
- Experience Navicat premium 16, unlimited reset, 14 day trial method (with source code)
- MySQL Express - day 1 - basic introduction
- KDD 2022 | 图“预训练、提示、微调”范式下的图神经网络泛化框架
- Ceph分布式存储
- Abap-sm30 check before deletion
- Is it safe to open an account and buy stocks? Who knows
- OpenSSL 编程 二:搭建 CA
- Sharing | intelligent environmental protection - ecological civilization informatization solution (PDF attached)
- 非常全面的DolphinScheduler(海豚调度)安装使用文档
- 通过CE修改器修改大型网络游戏
猜你喜欢

"Good voice" has been singing for 10 years. How can the Chinese language in the starry sky sing well in HKEx?

Ceph分布式存储

“好声音“连唱10年,星空华文如何唱响港交所?

Character interception triplets of data warehouse: substrb, substr, substring

数据平台调度升级改造 | 从Azkaban 平滑过度到Apache DolphinScheduler 的操作实践

抗洪救灾,共克时艰,城联优品驰援英德捐赠爱心物资

GFS分布式文件系统

KDD 2022 | 图“预训练、提示、微调”范式下的图神经网络泛化框架

Necessary software tools in embedded software development

强制 20 天内开发 APP 后集体被裁,技术负责人怒批:祝“早日倒闭!”
随机推荐
BTC和ETH重新夺回失地!引领市场复苏?加密将步入“冰河时代”!
Navicat Premium连接问题--- Host ‘xxxxxxxx‘ is not allowed to connect to this MySQL server
ABAP-CL_ OBJECT_ Collection tool class
让马化腾失望了!Web3.0,毫无希望
灵活的IP网络测试工具——— X-Launch
行业案例|从零售之王看银行数字化转型的运营之道
Navicat premium connection problem --- host 'XXXXXXXX' is not allowed to connect to this MySQL server
基于微信小程序的高校党员之家服务管理系统系统小程序#毕业设计,党员,积极分子,学习,打卡,论坛
Leetcode 989. Integer addition in array form (simple)
爱数课实验 | 第六期-金融反欺诈案例研究
Shell script controls the startup and shutdown of services - with detailed cases
Zhongang Mining: the largest application field of new energy or fluorite
一套系统,减轻人流集中地10倍的通行压力
Is it safe to open an account and buy stocks on the Internet? New to stocks, no guidance
华为伙伴暨开发者大会2022开源时刻全纪录
分享|智慧环保-生态文明信息化解决方案(附PDF)
1027 Colors in Mars
教程|fNIRS数据处理工具包Homer2下载与安装
KDD 2022 | 图“预训练、提示、微调”范式下的图神经网络泛化框架
请教CMS小程序首页的幻灯片在哪里设置?