t
a
g
:
tag :
tag: 线段交点
数学分析
乘法原理
*1000
传送门:
题意 : 给定 n , m n,m n,m分别表示 p [ ] , q [ ] p[],q[] p[],q[]的大小
询问了两条直线 y = x + p [ i ] y=x+p[i] y=x+p[i]和 y = − x + q [ i ] y=-x+q[i] y=−x+q[i]有多少个 横坐标 是 整数的 交点
思路 : 根据题意求出 x x x表达式 x + p [ i ] = − x + q [ i ] x+p[i]=-x+q[i] x+p[i]=−x+q[i] 2 x = q [ i ] − p [ i ] 2x=q[i]-p[i] 2x=q[i]−p[i] x = ( q [ i ] − p [ i ] ) / 2 x=(q[i]-p[i])/2 x=(q[i]−p[i])/2
显然当且仅当 q [ i ] q[i] q[i]和 p [ i ] p[i] p[i]同奇偶的时候才可能是整数解
显然我们根据乘法原理可知,最终答案就是 p 奇 数 ∗ q 奇 数 + p 偶 数 ∗ q 偶 数 p奇数*q奇数+p偶数*q偶数 p奇数∗q奇数+p偶数∗q偶数 code :
int n,m;
int a[N],b[N];
void solve(){
int aodd = 0 ,aeven = 0 ;
int bodd = 0 ,beven = 0;
cin>>n;
for(int i=1;i>a[i];
if(a[i]&1) aodd ++;
else aeven ++;
}
cin>>m;
for(int i=1;i>b[i];
if(b[i]&1) bodd++;
else beven ++;
}
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?