[BZOJ1385][Baltic2000]Division expression
题目链接:
BZOJ1385
比较简单的思维题。
首先,无论怎么加括号,\(x_1\)在分子上,\(x_2\)一定在分母的位置,这很显然。
对于其他数,一定可以通过加括号转移到分子上。
(具体就是先处理\(x_2\sim x_n\),再用\(x_1\)去除使分数倒转。)
如\(x_1/(x_2/\cdots/x_n)=x_1/\frac{x_2}{\prod_{x=3}^nx_i}=\frac{\prod_{x\not=2}\limits x_i}{x_2}\)
那么只需判断\(\prod_{x\not=2}\limits x_i\)是否整除\(x_2\)即可。
一开始往分解质因数的方向去想了。。其实只要对每个\(x_i(i\not=2)\)和\(x_2\)找\(GCD\)约去即可,最后判断是否剩\(1\)。
时间复杂度 \(O(Dnlog_2x)\)
#include <cstdio>int Gcd(int a,int b){return b?Gcd(b,a%b):a;}int t,n,x[10005];int main()
{for(scanf("%d",&t);t--;){scanf("%d",&n);for(int i=1;i<=n;++i)scanf("%d",&x[i]);for(int i=1;i<=n;++i)if(i!=2)x[2]/=Gcd(x[2],x[i]);puts(x[2]==1?"YES":"NO");}return 0;
}
转载于:https://www.cnblogs.com/LanrTabe/p/10207630.html
[BZOJ1385][Baltic2000]Division expression相关推荐
- bzoj1385: [Baltic2000]Division expression
欧几里得算法.可以发现规律,a[2]作为分母,其他作为分子,必定是最好的选择.判断是否为整数即可. #include<cstdio> #include<cstring> #in ...
- 重走长征路---OI每周刷题记录---3月22日 2014
总目录详见https://blog.csdn.net/mrcrack/article/details/84471041 做题原则,找不到测评地址的题不做.2018-11-28 重走长征路---OI每周 ...
- Head-First-Design-Pattern-学习笔记
工厂模式 分类 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 简单工厂模式 组成: 工厂类角色 抽象产品 ...
- java设计模式-行为型模式
行为型模式用于控制对象的行为. 状态模式:将对象的状态抽象为一个类,是对if switch等状态判断的代替,Context类.State接口及其具体类. 备忘录模式:获取对象状态没在对象之外保存状态, ...
- JSQLParser 部分解析column以及condition
1.把需要筛选的字段和条件分开,目前未支持case when以及自定义函数,实现如何下: VerifySqlLegitimacyServiceImpl: /*** File Name:VerifySq ...
- SpringEL 表达式语言(Spring Expression Language)
Spring学习总结:表达式语言 Spring Expression Language 目录 SpEL简介与功能特性 一.为什么需要Spring表达式语言 二.SpEL表达式Hello World! ...
- C语言 before string,c语言中expected expression before是什么意思?
满意答案 chowjack 推荐于 2019.10.23 采纳率:57% 等级:10 已帮助:3269人 1.意思是:在 xxx 之前 应输入表达式. 2.下面为C语言的错误大全及中文解释: 1 ...
- Arithmetic Expression
时间限制: 2000ms 单点时限: 200ms 内存限制: 256MB 描述 Given N arithmetic expressions, can you tell whose result is ...
- DataColumn.Expression 语法
在某些情况下DataTable是非常有用的.DataTable的操作基本就会有相关的计算.统计.聚合.筛选等.DataColumn中提供了Expression属性.他的定义如下: 获取或设置表达式,用 ...
最新文章
- 动态代理--cglib
- JS数组中 forEach() 和 map() 的区别
- 数字图像基础,分辨率
- 在Dubbo中使用高效的Java序列化(Kryo和FST)
- 小 X 的 AK 计划
- echarts 弹出放大_Echarts图标增加全屏/放大功能
- Java Web现代化开发:Spring Boot + Mybatis + Redis二级缓存
- emacs在windows下打开报错原因
- 零基础入门语义分割——Task1 赛题理解
- 数值保留小数点两位,但同时去除小数点后多余0 的 javascript、java实现
- 系统监控技术 -- 主机监控,信息转发,前台显示
- Unity Lerp函数的妙用
- 读《深入浅出统计学》
- 崮德好文连载 - 活该你是工程师(自序)
- python入门笔记(4)
- Linux中的preempt_count
- python之父考虑重构python解释器_Python之父考虑重构Python解释器
- java数独最快解_java快速解数独
- Ubuntu安装sogo输入法
- 支持向量机(二)——松弛变量处理异常点