题号 标题 已通过代码 通过率 团队的状态
A Ares, Toilet Ares 点击查看 1035/5027 通过(分数相加取模,求逆元)
B Dohna Dohna 点击查看 5/72 未通过
C Fuzzy Graph 点击查看 4/28 未通过
D OR 点击查看 632/3372 通过(位运算,枚举)
E Rise of Shadows 点击查看 1636/1930 通过(素数,闰年)
F Robots 点击查看 125/1573 未通过
G rsrams 点击查看 2/24 未通过
H Scholomance Academy 点击查看 12/39 未通过
I The Grand Tournament 点击查看 4/24 未通过
J Tree 点击查看 119/1321 未通过
K Yet Another Problem About Pi 点击查看 999/8845 通过(找规律贪心,暴力枚举)

A Ares, Toilet Ares

题意:

  • 巨长的阅读理解,输出n个分数相加的和%4523。
    思路:
  • 开局榜歪了,后来才发现,直接n个分数相加输出就行,有大约一半的变量是没有用的。分数取模注意一下求逆元做除法即可。
  • 取模没有(+mod)%mod错了一次改了好久,这个错失误了好多次了,要记住、
#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
const LL mod = 4933;LL pows(LL a, LL x, LL p){if(x==0)return 1; LL t = pows(a, x>>1,p);if(x%2==0)return t*t%p;return t*t%p*a%p;}
LL inv(LL x, LL p){ return pows(x,p-2,p);}int main(){LL n,m,k,a,l;cin>>n>>m>>k>>a>>l;LL ans = 1;for(int i=1; i <= k; i++){int x, y, z;  cin>>x>>y>>z;if(x!=0)(ans *= (1-y*inv(z,mod)%mod+mod)%mod)%=mod;}ans = (ans+a%mod+mod)%mod;cout<<ans<<"\n";return 0;
}

D OR

题意:

  • 给出两个长为n-1的序列b和c,定义bi=(ai | a_i-1), ci=(ai + a_i-1),求满足该条件的a序列有多少可能。

思路:

  • 知道一个性质a+b==a&b+a|b,所以已知bi, ci, 那么定义di= (ai & a_i-1) = ci-bi。
  • 然后注意到,已知a1的取值能够确定整个序列,可以由ci直接累加计算,也可以由位运算另一条性质a+b==a^b+2(a&b)异或计算。
  • 因此,考虑每一位分开来考虑,然后枚举a1的取值即可。 复杂度O(n loga)
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+10;
int b[maxn], c[maxn], d[maxn];
int main(){int n;  cin>>n;for(int i=2; i<= n; i++)cin>>b[i];for(int i=2; i<= n; i++)cin>>c[i],d[i]=c[i]-b[i];int ans = 1;for(int i=0; i< 31; i++){int x=1, y=1; //表示上一位能不能取0,1for(int j=2; j<=n; j++){ //枚举a1取值的限制情况int w1=(b[j]>>i)&1, w2=(d[j]>>i)&1;//表示|和&两种情况if(w2==1 &&w1==1)x=0;//&==1,|==1,当前位0不能取if(w2==0 &&w1==1)swap(x,y);//当前位和上一位相反if(w2==0 &&w1==0)y=0;//&==0,|==0,当前位1不不能取if(w2==1 &&w1==0)x=0,y=0;//&==1,|==0,冲突了都不能取}ans *= (x+y);//最后一位能不能取0,1}cout<<ans<<"\n";return 0;
}

E Rise of Shadows

题意:

  • 给出一个数,判断它是否同时满足闰年和素数两个条件。

思路:

  • 注意到1e7不可以用筛法预处理,直接条件判断闰年,试除法判断素数即可,可以通过。
#include<bits/stdc++.h>
using namespace std;int is_prime(int x){if(x==1)return false;if(x==2)return true;for(int i =2; i*i <= x; i++){if(x%i==0)return false;}return true;
}int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T;  cin>>T;while(T--){int x;  cin>>x;if(((x%100!=0&&x%4==0) ||(x%400==0) ) &&is_prime(x))cout<<"yes\n";else cout<<"no\n";}return 0;
}

  • 再注意到闰年一定 需要%4==0或%400==0,所以一定不可能是素数,直接输出no即可,两行就可以通过。
#include<cstdio>
int main(){int T;scanf("%d",&T);while(T--)puts("no");}

K Yet Another Problem About Pi

题意:

  • 给出w和d,竖着的经线每w一条,横着的纬线每d一条,可以从任意点出发沿着任意方向走π米,求最多能路过多少个方格。

思路:

  • 考虑到可以贴着线走,意味着我们总有空间在格点附近以无限小来回横跳, 即约等于包括所有两边的方格,所以走到哪前面能范围内的方格就可以计入。
  • 然后注意到网格线每走一段,新经过区域为 2,对角线每走一段,新经过区域为3。但是对角线比网格线要长,令a=min(w, d), b = sqrt(w*w+d*d), 所以答案即为求解满足ax+by<=π时 2x+3y的最大值
  • 注意到w, d的范围只有5, π也只有3,所以可暴力枚举x和y的值,满足条件时用2x+3y+4更新答案即可(+4是刚开始走的区域的四个格子)
#include<bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T;  cin>>T;while(T--){double w, d;  cin>>w>>d;double a=min(w,d), b=sqrt(w*w+d*d);int ans = 0;for(int x=0; x<=100 &&a*x<=pi ; x++)//横着走x步,ax<=pians =max(ans, 2*x+3*int((pi-a*x)/b)+4);for(int y=0; y<=100 &&b*y<=pi ; y++)//斜着走y步, by<=pians =max(ans, 2*int((pi-b*y)/a)+3*y+4);cout<<ans<<"\n";}return 0;
}

2021牛客暑期多校训练营8,签到题ADEK相关推荐

  1. 2021牛客暑期多校训练营1, 签到题DFBG

    2021牛客暑期多校训练营1 题号 标题 已通过代码 通过率 团队的状态 A Alice and Bob 点击查看 1365/5586 通过(博弈论-打表) B Ball Dropping 点击查看 ...

  2. 2021牛客暑期多校训练营9

    2021牛客暑期多校训练营9 题号 题目 知识点 A A Math Challenge B Best Subgraph C Cells D Divide-and-conquer on Tree E E ...

  3. 2021牛客暑期多校训练营5

    2021牛客暑期多校训练营5 题号 题目 知识点 A Away from College B Boxes 概率 C Cheating and Stealing D Double Strings 线性d ...

  4. 2021牛客暑期多校训练营4

    2021牛客暑期多校训练营4 题号 题目 知识点 A Course B Sample Game C LCS D Rebuild Tree E Tree Xor 思维+线段树 F Just a joke ...

  5. 2021牛客暑期多校训练营3

    2021牛客暑期多校训练营3 题号 题目 知识点 A Guess and lies B Black and white C Minimum grid 二分图匹配 D Count E Math 数论+打 ...

  6. 2021牛客暑期多校训练营2

    2021牛客暑期多校训练营2 题号 题目 知识点 A Arithmetic Progression B Cannon C Draw Grids D Er Ba Game E Gas Station F ...

  7. 2021牛客暑期多校训练营1

    2021牛客暑期多校训练营1 题号 题目 知识点 难度 A Alice and Bob 博弈论 B Ball Dropping 计算几何 签到 C Cut the Tree D Determine t ...

  8. 2021牛客暑期多校训练营2,签到题CDFKI

    2021牛客暑期多校训练营2 题号 标题 已通过代码 通过率 团队的状态 A Arithmetic Progression 点击查看 6/72 未通过 B Cannon 点击查看 34/104 未通过 ...

  9. 【训练题66:状压暴力 | 子集dp】Greater Integer, Better LCM | 2021牛客暑期多校训练营5

    题意 Greater Integer, Better LCM | 2021牛客暑期多校训练营5 给你 a,b,ca,b,ca,b,c ,你需要找到一对 x,yx,yx,y ,满足: lcm(a+x,b ...

  10. 2021牛客暑期多校训练营7

    2021牛客暑期多校训练营7 文章目录 2021牛客暑期多校训练营7 F:xay_loves_trees 解释 代码 H:xay_loves_count 解释 代码 I:xay_loves_or 解释 ...

最新文章

  1. 【阿里云课程】生成模型之GAN原理与优化基础
  2. .NET LINQ分析AWS ELB日志避免996
  3. 【英语学习】【WOTD】apposite 释义/词源/示例
  4. IOS证书/私钥/代码签名/描述文件
  5. C++ 实验2:函数重载、函数模板、简单类的定义和实现
  6. android65535错误实现,Android 65535问题的解决方法
  7. python获取淘宝服务器时间的代码
  8. Android 消息机制之深入学习MessageQueue
  9. 搜狗拼音输入发-自定义短语记录
  10. 第五篇:风控模型监控预警
  11. 二项式定理学习笔记(详解)
  12. 智能家居系列之智能家居平台设计
  13. ae渲染存在偏移_E3依旧是最好选择.千元游戏渲染主机该如何搭配
  14. 笔记-知识产权与标准化知识-中华人民共和国政府采购法
  15. PHP开发银联云闪付二维码支付
  16. OR | IE | SCM | TR: 国际会议集锦
  17. daimayuan每日一题#812 互质
  18. k8s部署springcloud架构的一些心得体会
  19. 【UEFI实战】如何在OS下获取UEFI变量
  20. 三、大数据技术之Linux下篇(linux学习)

热门文章

  1. 书法的艺术 —— 大家的作品
  2. 排序 —— 希尔排序(Shell sort)
  3. 梦的解析 —— 梦知道答案
  4. 排列组合的思考、组合数的推广和拓展
  5. 用python画图代码-【Matplotlib】利用Python进行绘图
  6. 学了python可以干嘛-学 Python 都用来干嘛的?
  7. python画直方图-python plotly绘制直方图实例详解
  8. python有趣的代码-python菜鸟教程,python好玩又简单的代码
  9. python编程入门视频-带学《Python编程:从入门到实践》
  10. LD3320的嵌入式语音识别系统的应用