Strange Optimization(扩展欧几里得)
Strange Optimization |
||
Accepted : 67 | Submit : 289 | |
Time Limit : 1000 MS | Memory Limit : 65536 KB |
Strange OptimizationBobo is facing a strange optimization problem. Given n,m , he is going to find a real number α such that f(12+α) is maximized, where f(t)=mini,j∈Z|in−jm+t| . Help him! Note: It can be proved that the result is always rational. InputThe input contains zero or more test cases and is terminated by end-of-file. Each test case contains two integers n,m .
OutputFor each case, output a fraction p/q which denotes the result. Sample Input1 1 1 2 Sample Output1/2 1/4 NoteFor the first sample, α=0 maximizes the function |
//题意还是很好懂的,只要明白扩展欧几里得原理,这题很简单,i/n - j/m 可以化为 ( mi - nj ) / ( n * m )
因为 i,j 为整数所以等于 k*gcd(n,m)/(n*m)
所以 f(t)的最大值为 1 / ( Lcm(n,m)*2 )
1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 #include <algorithm> 5 using namespace std; 6 #define LL long long 7 8 LL gcd(LL a,LL b) 9 { 10 return b==0?a:gcd(b,a%b); 11 } 12 13 int main() 14 { 15 LL n,m; 16 while (scanf("%I64d%I64d",&n,&m)!=EOF) 17 { 18 LL p = gcd(n,m); 19 LL q = n*m*2; 20 LL yue = gcd(p,q); 21 printf("%I64d/%I64d\n",p/yue,q/yue); 22 } 23 return 0; 24 }
View Code
转载于:https://www.cnblogs.com/haoabcd2010/p/6861733.html
Strange Optimization(扩展欧几里得)相关推荐
- 扩展欧几里得 POJ 1061
感觉这道题目的数据好水啊...我的代码我都觉得姿势特别奇怪...竟然还过了... 好吧,原来不是姿势奇怪,而是逆元需要用的时候是余数也需要的时候,这里的余数是不需要的,所以就AC了 就说一下碰到的问题 ...
- 求逆元(线性求逆元)及其扩展欧几里得
线性求逆元模板: int inv[maxn]; void initInverse(){inv[1] = 1;for(int i = 2; i <= maxn; i++)inv[i] = (p - ...
- poj-青蛙的约会(扩展欧几里得)nyoj-小柯的约会
由题意可列出方程 x + m * s - (y + n * s) = k * l; 化简得 (n-m)*s + k*l = x - y 化简得 (n-m)*s = x - y (mod l); ...
- [模板]欧几里得算法/扩展欧几里得
最大公因数(欧几里得算法) $gcd(a,b)=gcd(b\%a,a)$(不一定需要a<b) $gcd(0,b)=b$ 1 inline int gcd(int a,int b){ 2 retu ...
- “景驰科技杯”2018年华南理工大学程序设计竞赛 H-对称与反对称(扩展欧几里得求逆元)
题目链接 题目描述: 给出一个N*N的方阵A.构造方阵B,C: 使得A = B + C.其中 B为对称矩阵,C为反对称矩阵. 对于方阵S中的任意元素,若(S)ij = (S)ji,则称S为对称矩阵 对 ...
- CodeForces - 724C Ray Tracing(扩展欧几里得解方程)
题目链接:点击查看 题目大意:在 n∗mn*mn∗m 的矩阵中,从点 (0,0)(0,0)(0,0) 发射一个小球,以四十五度的方向出发,速度是 2\sqrt{2}2,当碰到壁时,会进行反射:当碰到 ...
- 牛客多校3 - Fraction Construction Problem(扩展欧几里得)
题目链接:点击查看 题目大意:给出 a 和 b ,求解满足条件的 c,d,e,f ,使得: d < b f < b c,e 均为小于等于 4e12 的正整数 题目分析:分情况讨论一下,首先 ...
- POJ - 1061 青蛙的约会(扩展欧几里得)
题目链接:点击查看 题目大意:两只青蛙在一个单向循环数轴上跳动,给出初始位置和每秒跳动的距离以及数轴长度,问是否可以相遇,若能相遇求出最小时间 题目分析:自从第一次接触扩展欧几里得以来已经有半年时间了 ...
- POJ - 2142 The Balance(扩展欧几里得)
题目链接:点击查看 题目大意:给出两种重量的砝码,我们需要利用天平称出指定重量的药物,我们需要求出这两种砝码各自的数量,使得砝码数量之和最小 题目分析:我们可以先列出关系式,假设两个砝码的重量分别为a ...
最新文章
- 三维曲面matlab程序,用matlab画三维曲面图 - 程序语言 - 小木虫 - 学术 科研 互动社区...
- graphcool-framework 一个基于graphql的后端开发框架
- mysql case break_按月转移日志表中日志时,mysql总是报‘MySQL server has gone away’这样的错!...
- mysql查询数据库desc_数据库查询DESC
- 机器学习教会我们的六件事
- HADOOP_MAPRED_ROOT_LOGGER has been replaced by HADOOP_ROOT_LOGGER
- Linux命令 — 设置或查看网络配置命令ifconfig
- [html] 请问60*80的canvas占多少内存?你是怎么计算的?
- 数学也浪漫 数学的几句贴心话
- CCF201612-2 工资计算(100分)
- Effective C++(9) 构造函数调用virtual函数会发生什么
- 关于-最佳的业务连续性容灾架构设计
- Android自定义选座,Android实现电影院选座效果
- 深入浅出WPF笔记——属性
- ZJOI2018 Round2 被踩记被虐记
- WIN10 Wifi已连接无internet完美解决办法
- qtdesigner设计表格_Qt表格视图-简单表格
- import torchvision报错,UserWarning: Failed to load image Python extension: Could not find module ‘C:\U
- python量化选股策略 源码_【一点资讯】Python实现行业轮动量化选股【附完整源码】...
- Gate 7.2的安装与部署(一)
热门文章
- [转] Windows Server 2012 Beta Cluster (Hyper-V 3.0)-iSCSI篇
- 你被人工智能给忽悠了吗?原来我们曾经认为的都是假的
- PCA原理分析和意义(二)
- Mybatis的CRUD之XML方式以及动态SQL
- Android App 瘦身总结 第三章 代码混淆及优化
- loj10200. 「一本通 6.2 练习 3」Goldbach's Conjecture
- 017 包扫描器和标记注解
- 51Nod:活动安排问题之二(贪心)
- javaweb项目部署到tomcat之后java文件没有编译
- 216. Combination Sum III