博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BestCoder Round #79 (div.2)
阅读量:4841 次
发布时间:2019-06-11

本文共 2286 字,大约阅读时间需要 7 分钟。

 

1001.没推到题解那么细,枚举一下也可以。用通分可以避免小数精度问题。

#include
#include
using namespace std;int main(){ int T; int n,m; int a,b,c; int i,j; bool flag; scanf("%d",&T); while(T--){ scanf("%d%d",&n,&m); //对等式通分 a=m*(n-2); b=n*(m-2); c=n*m; flag=false; for(i=0;i<=6;++i){ for(j=0;j<=6;++j){ if(a*i+b*j==2*c){ flag=true; break; } } if(flag){ break; } } if(flag){ printf("Yes\n"); } else{ printf("No\n"); } } return 0;}
View Code

1002.判断某一位能取0和1的条件想了一会。

#include
#include
using namespace std;int myLen(long long n){ int sum=0; while(n>0){ ++sum; n>>=1; } return sum;}int main(){ long long pow[65]; int i; for(i=0;i<=62;++i){ pow[i]=(1LL)<
d){ max_len=myLen(b); } else{ max_len=myLen(d); } sum1=sum2=0; ans=0; for(i=max_len-1;i>=0;--i){ f1=f2=false; f3=f4=false; //可以为0 if(sum1+pow[i]-1>=a){
//这个条件好好想下。 f1=true; } if(sum2+pow[i]-1>=c){ f3=true; } //可以为1 if(sum1+pow[i]<=b){
//这个条件好好想下。 f2=true; } if(sum2+pow[i]<=d){ f4=true; } if(f1&&f2&&f3&&f4){
//2个数都可以为0和1 //剩余的可以全为1了,不用看了。 ans+=pow[i+1]-1; break;// } if(f1&&f4){
//两个数可以分别为0,1 ans+=pow[i]; sum2+=pow[i]; } else if(f2&&f3){
//两个数可以分别为1,0 ans+=pow[i]; sum1+=pow[i]; } else if(f2&&f4){
//两个数都只能为1 sum1+=pow[i]; sum2+=pow[i]; } else{
//两个数都只能为0 //无操作 } } printf("%lld\n",ans); } return 0;}
View Code

1003.

1004.直接暴力莫比乌斯反演,超时了。抽空再看看。

 

转载于:https://www.cnblogs.com/bofengyu/p/5374631.html

你可能感兴趣的文章
LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)
查看>>
51nod 1351 吃点心(贪心)
查看>>
Vim配置(python版)
查看>>
内核开发基础3——Linux内核配置与编译
查看>>
计算机组成原理复习
查看>>
BUPT复试专题—中序遍历序列(2013)
查看>>
【常见Web应用安全问题】---7、CRLF injection
查看>>
php7.2.1 安装
查看>>
用winrar解压时提示无法设置安全数据 拒绝访问的解决方法
查看>>
诡异的数学,数字问题 - leetcode
查看>>
交换输出
查看>>
设计模式-策略模式&状态模式&访问者模式
查看>>
python学习第三十三节(IO模型)
查看>>
linux pci 驱动小结
查看>>
BZOJ2744: [HEOI2012]朋友圈
查看>>
设计模式之抽象工厂模式
查看>>
大整数相关的几道题
查看>>
利用表格实现大图轮播
查看>>
SpringBoot集成jsp
查看>>
HTML+CSS 内容居中效果
查看>>