传送门

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 [个人赛]的更多相关文章

  1. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)A蔡老板的会议

    题目描述 图灵杯个人赛就要开始了,蔡老板召集俱乐部各部门的部长开会.综合楼有N (1<=N<=1000)间办公室,编号1~N每个办公室有一个部长在工(mo)作(yu),其中X号是蔡老板的办 ...

  2. JSU省赛队员选拔赛个人赛1(Coin Change、Fibbonacci Number、Max Num、单词数、无限的路、叠筐)

    JSU省赛队员选拔赛个人赛1 一.题目概述: A.Coin Change(暴力求解.动态规划)     B.Fibbonacci Number(递推求解) C.Max Num(排序.比较) D.单词数 ...

  3. 贵州省网络安全知识竞赛个人赛Writeup

    首先拖到D盾扫描 可以很明显的看出来确实就是两个后门 0x01 Index.php#一句话木马后门 0x02 About.php#文件包含漏洞 都可以很直观的看出来非常明显的漏洞,第一个直接就是eva ...

  4. 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内所有的气球涂一个 ...

  5. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)H吃薯条

    题目描述 薯片这次又遇到问题了== 薯片有n个薯条棒,第i个薯条棒的长度为i,由于薯片能瞬间移动,所以薯片能在1秒内从这n个薯条棒里面选择一个或者多个,吃掉同样长的一部分, 并且被吃掉部分的长度是正整 ...

  6. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)G爬楼梯

    题目描述 由于第m个台阶上有好吃的薯条,所以薯片现在要爬一段m阶的楼梯. 薯片每步最多能爬k个阶梯,但是每到了第i个台阶,薯片身上的糖果都会掉落ai个,现在问你薯片至少得掉多少糖果才能得到薯条? 输入 ...

  7. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)E粉丝与分割平面

    题目描述 在一个平面上使用一条直线最多可以将一个平面分割成两个平面,而使用两条直线最多可将平面分割成四份,使用三条直线可将平面分割成七份--这是个经典的平面分割问题,但是too simple,作为一个 ...

  8. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)D拿糖果

    题目描述 薯片和他的朋友薯条来到了商店,商店有n个糖果,标号依次为1,2,3....n,对应的价值为W1,W2,W3...Wn.现在薯片先拿走一个标号为a的糖果,标号小于a的糖果就被商家收回去了,然后 ...

  9. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)C粉丝与汉诺塔

    题目描述 苟利国家生死以,岂因福祸避趋之?作为ACM真正的粉丝,应该都听闻过汉诺塔问题,汉诺塔问题是这样的: 有三根柱子,编号A,B,C柱,初始情况下A柱上有n个盘子,小盘子在上大盘子在下,n个盘子大 ...

随机推荐

  1. python 简单逻辑回归实例

    import sys reload(sys) sys.setdefaultencoding('utf-8') from sklearn.feature_extraction.text import T ...

  2. 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问

    原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...

  3. 基于nginx负载均衡及frp的内网穿透实例3-多用户多网站共用80端口

    原文地址:点击跳转 最近frp用户量有点多,而且很多用户都是想把部署于本地或者内网的web服务暴露至公网,之前提到过,暴露到公网之后如果一般都需要用域名:端口的方法来访问,但是没有人会喜欢用这种方式访 ...

  4. Selenium switch_to方法

    在web应用自动化测试中,点击一个链接或者按钮会打开一个新的浏览器窗口,会出现多个窗口实例.默认情况下的焦点在主窗口(父窗口),如果要对子窗口进行操作,就需要首先切换到子窗口. Selenium We ...

  5. JS验证三种提示框

    1 <form> 2 <!-- 按钮选择点击 --> 3 <tr> 4 <td><input type="button" na ...

  6. Java学习日报7.23

    import java.util.Scanner;public class LandP {public static void main(String args[]) { System.out.pri ...

  7. java面向对象的一些知识

    (1)this和super关键字的用法 this表示调用本类实例方法和成员变量,this引用就是对一个对象的引用,如this.name  表示本类成员变量name,静态方法中不能使用this关键字. ...

  8. Beta冲刺——第六天

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  9. Elasticsearch java api操作(一)(Java Low Level Rest Client)

    一.说明: 一.Elasticsearch提供了两个JAVA REST Client版本: 1.java low level rest client: 低级别的rest客户端,通过http与集群交互, ...

  10. JAVA编程环境与基本数据类型

    <JAVA编程环境与基本数据类型> 随笔目录 # <JAVA编程环境与基本数据类型> 随笔目录 - Java小实例 java的编程环境 java数据类型 Java小实例 jav ...