传送门

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') import matplotlib.pyplot as plt import numpy ...

  2. C# Socket使用以及DotNetty和Supersocket 框架

    1.Socket服务端与客户端通话 1服务端 using System; using System.Collections.Generic; using System.Linq; using Syst ...

  3. 如何使用阿里云云解析API实现动态域名解析,搭建私有服务器

    原文地址:http://www.yxxrui.cn/article/116.shtml 未经许可请勿转载,如有疑问,请联系作者:yxxrui@163.com 公司的网络没有固定的公网IP地址,但是能够 ...

  4. Springboot程序启动慢及JVM上的随机数与熵池策略

    问题描述 线上环境中很容易出现一个java应用启动非常耗时的情况,在日志中可以发现是session引起的随机数问题导致的 o.a.c.util.SessionIdGeneratorBase : Cre ...

  5. 多个table表不同数据切换 easyui中

    未处理  有效   无效  切换显示 1.加载页面时将 未处理 ,无效  有效的数据分别查到,给对应的table赋值 <%--easyui 的 tab标签栏--%><div id=& ...

  6. SpringBoot 的多数据源配置

    最近在项目开发中,需要为一个使用 MySQL 数据库的 SpringBoot 项目,新添加一个 PLSQL 数据库数据源,那么就需要进行 SpringBoot 的多数据源开发.代码很简单,下面是实现的 ...

  7. 个人总结的一些C++基础理论

    我自己整理的一些C++基础理论知识,面试的同学可以用到: 主要是针对那些基础理论知识比较薄弱的同学吧,希望会对大家面试有些帮助,排版什么的有点乱,大家多多包涵: 往期经典: 北漂95后的2020 给北 ...

  8. Vue知识点精简汇总

    一. 组件component 1. 什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码组件是自定义元素(对象) 2. 定义组件的 ...

  9. Scriptable Render Pipeline

    Scriptable Render Pipeline SRP的核心是一堆API集合,使得整个渲染过程及相关配置暴露给用户,使得用户可以精确地控制项目的渲染流程. SRP API为原有的Unity构件提 ...

  10. java线程与内核线程的关系,及怎么定义ThreadPoolExecutor相关参数

    p.p1 { margin: 0; font: 12px Menlo } p.p1 { margin: 0; font: 12px Menlo } p.p2 { margin: 0; font: 12 ...