Codeforces Round #201 (Div. 2) E - Number Transformation II
来源:互联网 发布:mac装双系统win10 编辑:程序博客网 时间:2024/05/29 16:31
题意:给你一个数组xi和两个数a和b,求通过两个途径由a到b的最小次数,1.当前的a减去1,2.当前的a减去a%xi。
思路:首先考虑xi有重复元素,所以去重,然后当a-a%x[i]小于b时那么无论怎么变化a-a%x[i]也必定小于b,所以x的个数是逐渐变少的,那么知道这两个之后用贪心的方法找是1途径还是2,最后直到a==b。
代码如下:
#include<iostream>#include<algorithm>#include<string.h>#include<cstdio>using namespace std;typedef long long LL;#define INF 0x3f3f3f3fint x[100005];int main(){ int n;LL a,b; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%lld",&x[i]); } int sum=0; scanf("%lld%lld",&a,&b); if(a==b) { printf("0\n");return 0; } sort(x,x+n); int len=unique(x,x+n)-x; while(a>b) { if(a-1==b) { sum++;break; } LL ans=-1; for(int i=0;i<len;i++) { if(a-(a%x[i])>=b) { if(ans<(a%x[i])) { ans=a%x[i]; } } else { x[i--]=x[--len]; } } if((a-1)<=(a-ans)) { sum++;a-=1; } else { sum++;a-=ans; } //printf("#%lld %lld ",a,ans); if(a==b) break; } printf("%d\n",sum);}
0 0
- Codeforces Round #201 (Div. 2) E - Number Transformation II
- Codeforces Round #201 (Div. 1) C. Number Transformation II(思路)
- Codeforces 347E - Number Transformation II
- codeforces 347 E Number Transformation II
- codeforces Number Transformation II
- Number Transformation II CodeForces
- Codeforces Round #153 (Div. 1) C. Number Transformation
- Codeforces Round #153 (Div. 1) C Number Transformation bfs
- Codeforces Round #265 (Div. 2)E. Substitutes in Number(数学)
- Codeforces Round #265 (Div. 2) E. Substitutes in Number
- Codeforces Round #340 (Div. 2) E XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- Codeforces Round #277 (Div. 2)C——Palindrome Transformation
- Codeforces Round #277 (Div. 2)---C. Palindrome Transformation (贪心)
- Codeforces Beta Round #91 (Div. 2 Only) D. Lucky Transformation
- Codeforces 405E Codeforces Round #238 (Div. 2)E
- Java 异常详解
- 百练 b:开餐馆
- 线程安全问题之线程同步机制(同步代码块)
- Java中的集合类
- java thread join 源码解析
- Codeforces Round #201 (Div. 2) E - Number Transformation II
- 史上最全Fragment介绍,包括fragment的定义,生命周期,用法
- 英文歌曲:What I Have Done(变形金刚第一部主题曲)
- RIP协议
- JMeter学习(二十八)内存溢出解决方法
- windows设备上下文的概念
- js判断登录文本框是否为空
- liunx apache 的安装
- 为Grub启动菜单添加Windows选项