SDNU_ACM_ICPC_2021_Winter_Practice_4th [个人赛]
D - Odd Divisor
题意:
给你一个n,问你n是否至少有一个奇数因子(这里题意没说清,没说是不是只有一个还是可以有多个!AC以后才发现是不止一个
思路:
如果这个数没有奇数因子,那它肯定是2^k
1.所以我就开始用循环除2,看看最后是不是奇数,1除外,因为2的k次方除到最后就剩下1,所以得特判。但是这个做法感觉还是不够妙
再两个妙的做法:
2.因为2^k是指数函数,而与指数函数互为反函数的对数函数,所以我们可以用对数函数来判断是不是2的k次方
if((int)log2(n) == log2(n))
cout<<"NO\n";
else
cout<<"YES\n";
3.因为是2的k次方,所以对于他的二进制来说,除了首位是1,其他位应该是0,所以可以利用n&(n - 1)来判断。如果是2的幂次,那么n-1的二进制应该是全是1,这与n是刚好相反的,所以取并,得到的肯定是0.
if(n & (n - 1))
cout<<"YES\n";
else
cout<<"NO\n";
下面是第一种做法的AC码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, k, m;
int main()
{
cin>>n;
while(n--)
{
scanf("%lld",&m);
//cout<<m<<endl;
while(m)
{
if(m % 2 == 0)
m /= 2;
else
break;
}
//cout<<m<<endl;
if(m % 2 == 1 && m != 1)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
E - New Year's Number
题意:
给你一个数,让你判断是不是由2020或2021组成的
思路:
因为2020与2021相差不大,2021可以看出2020 + 1,所以我们可以对2020取余,得到余数a,再用那个数除以2020,得到商b,只需要比较b是否大于等于a即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, k, m, ans;
int main()
{
cin>>n;
while(n--)
{
cin>>m;
k = m % 2020;
ans = m / 2020;
if(ans >= k)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
K - 取石子游戏
题意:
给你两堆石子,有两种取法,一是从任意一堆中取任意数量的石子,或者是同时对两堆取相同数量的石子,最后取完的人胜,你先手,如果最后是你赢就输出1,否则输出0
思路:
得先找到必败点,也就是奇异局势
(0,0)(1,2)(3,5)(4,7)……
这些都是必败点,可以发现数之间的差值是成等差数列的,而且所有的自然数都包含在所有的必败点上。
剩下的就是找规律了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ni1Q3g24-1611845112193)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210126205904000.png)]
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b;
int main()
{
while(cin>>a>>b)
{
if(a > b)
swap(a, b);
if((int)((b - a) * (sqrt(5.0) + 1.0) / 2.0) == a)
cout<<0<<endl;
else
cout<<1<<endl;
}
return 0;
}
a) * (sqrt(5.0) + 1.0) / 2.0) == a)
cout<<0<<endl;
else
cout<<1<<endl;
}
return 0;
}
SDNU_ACM_ICPC_2021_Winter_Practice_4th [个人赛]的更多相关文章
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)A蔡老板的会议
题目描述 图灵杯个人赛就要开始了,蔡老板召集俱乐部各部门的部长开会.综合楼有N (1<=N<=1000)间办公室,编号1~N每个办公室有一个部长在工(mo)作(yu),其中X号是蔡老板的办 ...
- JSU省赛队员选拔赛个人赛1(Coin Change、Fibbonacci Number、Max Num、单词数、无限的路、叠筐)
JSU省赛队员选拔赛个人赛1 一.题目概述: A.Coin Change(暴力求解.动态规划) B.Fibbonacci Number(递推求解) C.Max Num(排序.比较) D.单词数 ...
- 贵州省网络安全知识竞赛个人赛Writeup
首先拖到D盾扫描 可以很明显的看出来确实就是两个后门 0x01 Index.php#一句话木马后门 0x02 About.php#文件包含漏洞 都可以很直观的看出来非常明显的漏洞,第一个直接就是eva ...
- SDNU_ACM_ICPC_2021_Winter_Practice_1st [个人赛] 2021.1.19 星期二
SDNU_ACM_ICPC_2021_Winter_Practice_1st [个人赛] K - Color the ball 题意: 有n个气球,每次都给定两个整数a,b,给a到b内所有的气球涂一个 ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)H吃薯条
题目描述 薯片这次又遇到问题了== 薯片有n个薯条棒,第i个薯条棒的长度为i,由于薯片能瞬间移动,所以薯片能在1秒内从这n个薯条棒里面选择一个或者多个,吃掉同样长的一部分, 并且被吃掉部分的长度是正整 ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)G爬楼梯
题目描述 由于第m个台阶上有好吃的薯条,所以薯片现在要爬一段m阶的楼梯. 薯片每步最多能爬k个阶梯,但是每到了第i个台阶,薯片身上的糖果都会掉落ai个,现在问你薯片至少得掉多少糖果才能得到薯条? 输入 ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)E粉丝与分割平面
题目描述 在一个平面上使用一条直线最多可以将一个平面分割成两个平面,而使用两条直线最多可将平面分割成四份,使用三条直线可将平面分割成七份--这是个经典的平面分割问题,但是too simple,作为一个 ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)D拿糖果
题目描述 薯片和他的朋友薯条来到了商店,商店有n个糖果,标号依次为1,2,3....n,对应的价值为W1,W2,W3...Wn.现在薯片先拿走一个标号为a的糖果,标号小于a的糖果就被商家收回去了,然后 ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)C粉丝与汉诺塔
题目描述 苟利国家生死以,岂因福祸避趋之?作为ACM真正的粉丝,应该都听闻过汉诺塔问题,汉诺塔问题是这样的: 有三根柱子,编号A,B,C柱,初始情况下A柱上有n个盘子,小盘子在上大盘子在下,n个盘子大 ...
随机推荐
- HTML 防盗链 用src引用网上图片显示 403 Forbidden
比如 <img class="toto" src="http://img5.imgtn.bdimg.com/it/u=152658425,3125530872&am ...
- DRF视图的使用及源码流程分析
django rest framework中对于APIView.GenericAPIView.ModelViewSet.mixins扩展类的分析. APIView 示例 根据实际程序来分析: urls ...
- java中如何实现同一账号不能同时登录
经过两天的研究,下面给两个方法.不个是webwork版本的,一个是修改过后的网上的意见监听器版本的 (一) 首先先上自己的研究成果 1:首先在baseAction 中或者直接在action中写一个方法 ...
- svg基础--基本语法与标签
svg系列–基础 这里会总结svg的基础知识和一些经典的案例. svg简介 SVG(Scalable Vector Graphics)is an XML-based Language for crea ...
- 毕大从自身设计HSF的角度出发谈服务化这回事
服务化的过去.现在和未来 原创: bluedavy HelloJava 9月18日 服务化毫无疑问是技术圈一直火热的buzzword,而且其实已经非常多年了,这在日益更新的技术圈还挺神奇的,作为在服 ...
- java 深拷贝与浅拷贝机制详解
概要: 在Java中,拷贝分为深拷贝和浅拷贝两种.java在公共超类Object中实现了一种叫做clone的方法,这种方法clone出来的新对象为浅拷贝,而通过自己定义的clone方法为深拷贝. (一 ...
- Maven的安装跟配置(最全)
一.去官网下载maven 官网地址: https://maven.apache.org/ 点击下载apache-maven-3.6.3-bin.zip 下载完成后解压即可. 二.配置环境变量 在我们的 ...
- MP(MyBatis-Plus)实现乐观锁更新功能
实现步骤 step1:添加乐观锁拦截器 MP的其他拦截器功能可以参考官网 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { ...
- Fresco 源码分析 —— 整体架构
Fresco 是我们项目中图片加载专用框架.虽然我不是负责 Fresco 框架,但是由本人负责组里的图片加载浏览等工作,因此了解 Fresco 的源码有助于我今后的工作,也可以学习 Fresco 的源 ...
- 3.k8s存储之ConfigMap、Secret
1.ConfigMap ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.ConfigMap API 给我们提供了向容器 ...