题目:http://codeforces.com/gym/100338/attachments

贪心,每次枚举10的i次幂,除k后取余数r在用k-r补在10的幂上作为候选答案。

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const int maxbit = ;
ull base[maxbit], n, k; void preDeal()
{
base[] = ;
for(int i = ; i < maxbit; i++){
base[i] = *base[i-];
}
} void ull2str(ull x,string& s)
{
int st[maxbit],top = ;
while(x){
st[top++] = x%+'';
x /= ;
}
reverse(st,st+top);
s.assign(st,st+top);
} void work()
{
priority_queue<string,vector<string>,greater<string> > q;
int sz = maxbit-;
while(base[sz]>n) sz--;
string str;
for(int i = ; i <= sz; i++){
ull cur = base[i];
ull r = cur%k;
if(r != ){
cur += k-r;
}
if(cur <= n){
ull2str(cur,str);
q.push(str);
}
}
printf("%s\n",q.top().c_str());
} int main()
{
freopen("numbers.in","r",stdin);
freopen("numbers.out","w",stdout);
preDeal();
while(scanf("%I64u%I64u",&n,&k),n){
work();
}
return ;
}

codeforces Gym 100338E Numbers (贪心,实现)的更多相关文章

  1. Gym - 100338E Numbers 贪心

    Gym - 100338E 题意:给你n,k问在1-n中能整出k的字典序最小的数.范围1018 思路:比较简单的贪心了,枚举10的幂m,然后加上k-m%k, 更新答案就可以了,数据一定要用unsign ...

  2. Codeforces Gym 100803C Shopping 贪心

    Shopping 题目连接: http://codeforces.com/gym/100803/attachments Description Your friend will enjoy shopp ...

  3. Codeforces Gym 100203E bits-Equalizer 贪心

    原题链接:http://codeforces.com/gym/100203/attachments/download/1702/statements.pdf 题解 考虑到交换可以减少一次操作,那么可以 ...

  4. Codeforces.GYM101612E.Equal Numbers(贪心)

    题目链接 \(Description\) 给定\(n\)个数,每次可以将任意一个数乘上任意一个正整数. 求\(k\)次操作后,数列中数的种类最少可以是多少.对每个\(0\leq k\leq n\)输出 ...

  5. Codeforces GYM 100876 J - Buying roads 题解

    Codeforces GYM 100876 J - Buying roads 题解 才不是因为有了图床来测试一下呢,哼( 题意 给你\(N\)个点,\(M\)条带权边的无向图,选出\(K\)条边,使得 ...

  6. codeforces 704B - Ant Man 贪心

    codeforces 704B - Ant Man 贪心 题意:n个点,每个点有5个值,每次从一个点跳到另一个点,向左跳:abs(b.x-a.x)+a.ll+b.rr 向右跳:abs(b.x-a.x) ...

  7. Codeforces Gym 101252D&&floyd判圈算法学习笔记

    一句话题意:x0=1,xi+1=(Axi+xi%B)%C,如果x序列中存在最早的两个相同的元素,输出第二次出现的位置,若在2e7内无解则输出-1. 题解:都不到100天就AFO了才来学这floyd判圈 ...

  8. Codeforces Gym 101190M Mole Tunnels - 费用流

    题目传送门 传送门 题目大意 $m$只鼹鼠有$n$个巢穴,$n - 1$条长度为$1$的通道将它们连通且第$i(i > 1)$个巢穴与第$\left\lfloor \frac{i}{2}\rig ...

  9. Codeforces Gym 101623A - 动态规划

    题目传送门 传送门 题目大意 给定一个长度为$n$的序列,要求划分成最少的段数,然后将这些段排序使得新序列单调不减. 考虑将相邻的相等的数缩成一个数. 假设没有分成了$n$段,考虑最少能够减少多少划分 ...

随机推荐

  1. Tesseract的使用

    参考:http://blog.csdn.net/qy20115549/article/details/78106569 下载tess4j的安装包. 首先,在该网站中下载tess4j的安装包. http ...

  2. 使用命令把类打成jar包

    测试用类 public class Hello { public static void main(String[] args) { System.out.println("hello wo ...

  3. LeetCode: 485 Max Consecutive Ones(easy)

    题目: Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: ...

  4. FLINK源代码调试方式

    此文已由作者岳猛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 第一种,直接通过IDEA WINDOWS调试 前提是Flink所有依赖已经导入,直接在Test中打断点,然后直 ...

  5. git如何撤销上次提交

    git push提交完数据后后悔了怎么办? 写在前面的话重要:删除上次提交后本地和远程仓库的数据都将删除,所以删除上次提交前,记得备份备份备份数据!!! 1.直接删除上次提交,使用reset命令 gi ...

  6. JavaScript数组及相关方法

    数组 1.创建数组 var array = new Array(); var array = new Array(size);//指定数组的长度 var array = new Array(item1 ...

  7. 【Unity3D】3D角色换装++ Advance

    http://www.cnblogs.com/dosomething/archive/2012/12/15/2818897.html 本文在之前的文章Unity3D角色换装的原理 基础上做一个补充 给 ...

  8. 部署spark 1.3.1 standalong模式

    之前已经写过很多次部署spark 的博客,但是之前部署都是照瓢画葫芦,不得其中的细节,并且以前都是部署spark on yarn 部署环境 scala 2.10.2,jdk 1.6,spark 版本1 ...

  9. 笔记-JavaWeb学习之旅9

    XML Extensible Markup Language 可扩展标记语言 功能:配置文件,在网络中传输 基本语法 1.xml文档的后缀名.xml 2.xml第一行必须定义为文档声明 3.xml文档 ...

  10. XML学习2 xml生产式