关闭

BZOJ 4612([Wf2016]Forever Young-二分)

352人阅读 评论(0) 收藏 举报
分类:

将一个数y转化成b进制数,使得他>=l,且

#include<bits/stdc++.h>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=Next[p])  
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,0x3f,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define MEMx(a,b) memset(a,b,sizeof(a));
#define INF (0x3f3f3f3f)
#define F (1000000007)
#define pb push_back
#define mp make_pair 
#define fi first
#define se second
#define vi vector<int> 
#define pi pair<int,int>
#define SI(a) ((a).size())
#define Pr(kcase,ans) printf("Case #%d: %lld\n",kcase,ans);
#define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
#define PRi2D(a,n,m) For(i,n) { \
                        For(j,m-1) cout<<a[i][j]<<' ';\
                        cout<<a[i][m]<<endl; \
                        } 
#pragma comment(linker, "/STACK:102400000,102400000")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int read()
{
    int x=0,f=1; char ch=getchar();
    while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
    while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
    return x*f;
} 
ll check(ll m,ll n) {
    return n%10+(n/10%10)*m+(n/100)*m*m;
}
ll l;
bool check2(ll p,ll n) {
    ll t=0,u=1;
    while(n) {
        if (n%p>9) return 0;
        t+=u*(n%p); u*=10;
        n/=p;
    }
    if (t<l) return 0;
    return 1;
}
int main()
{
//  freopen("bzoj4612.in","r",stdin);
//  freopen(".out","w",stdout);
    ll y;
    cin>>y>>l;
    ll an=10;

    for(ll i=l;i<=999;i++) {
        ll L=1,R=1e9,ans=10;
        if (i<100) R=1E18;
        while(L<=R) {
            ll m=(L+R)/2;
            if (check(m,i)<=y) ans=m,L=m+1;
            else R=m-1;  
        }
        if (check(ans ,i)== y )  an=max(an,ans);
    }
    ForD(i,1000000) {
        if (i<an) break;
        if (check2(i,y)) {
            cout<<i<<endl;return 0;
        }
    }
    cout<<an<<endl;
    return 0;
}
0
0
查看评论

【BZOJ】4612 [Wf2016] Forever Young

【BZOJ】4612 [Wf2016] Forever Young Description将一个数y转化成b进制数,使得他>=l,且<y,且转化后均为0~9,使b最大。Input一行两个数y(10<=y<=10^{18})和l(10<=l<=y)。Output输...
  • Pure_W
  • Pure_W
  • 2016-09-02 20:24
  • 589

bzoj 4612: [Wf2016]Forever Young

这题题意有点难懂啊 大概意思是给你两个十进制数x和y,你要将x转化成一个b进制数k(①k每一位只能包含数字0到9) 然后在假设x和y已经是b进制下的情况下满足条件x>k>=y,求满足条件最大的b 很显然x>k只需要b>10就一定满足,问题就是如何满足k>=y和条件①...
  • Jaihk662
  • Jaihk662
  • 2017-07-30 12:37
  • 243

【线段树】【二分】[PA2015][BZOJ4293]Siano

题目Description农夫Byteasar买了一片n亩的土地,他要在这上面种草。 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。 Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteas...
  • outer_form
  • outer_form
  • 2016-02-27 23:35
  • 482

【bzoj2216】[Poi2011]Lightning Conductor 决策单调性+整体二分

其实看到这道题是毫无思路的。 先简化思路,对于每个i,求max{aj+sqrt(|i-j|)}-ai 把这个式子分成前后两部分,即max(max{aj+sqrt(i-j)},max{ak+sqrt(k-i)})-ai  (j 然后,我们发现其实这个式子是有单调性的,所以可以用那种二分...
  • u012288458
  • u012288458
  • 2016-01-18 15:06
  • 842

BZOJ 1196 HNOI2006 公路修建问题 二分答案+Kruskal

题目大意:给定一个无向图,一条边
  • PoPoQQQ
  • PoPoQQQ
  • 2014-11-23 11:48
  • 1502

bzoj 4717: 改装 二分+set

md一开始被套路了浑身难受。        首先把所有装备扔进一个set(要用好的姿势处理重复)排序。询问的时候就扫一遍set然后把区间内的拿出来,这样就是有序的了。然后二分答案,每个船做一次二分查找,得到       ...
  • lych_cys
  • lych_cys
  • 2016-11-12 08:15
  • 766

bzoj4717 改装(暴力+二分答案)

因为数据范围很清奇,时限很挥霍,所以我们对询问操作暴力搞,修改操作直接O(1)做。对于询问,我们二分一个答案x,看比他大的有几个,看是小了还是大了。不断调整。怎么快速的知道有几个比x大的呢?对a数组每次询问时暴力处理出小于等于v的有几个,记为cnt[v]。然后我们枚举每一个b[i],大于x/b[i]...
  • Icefox_zhx
  • Icefox_zhx
  • 2017-10-28 11:15
  • 115

bzoj1767 树上dp斜率优化+二分

题目描述oi国是一个温暖美丽的地方,其地图是一个树结构,树的根节点就是oi城的首都——orzboshi城。orzboshi城是国王boshi办公的地方,他每天都会收到来自其他城市的信息。oi国的信息传递的方式是这样的: 除了orzboshi城,每个城市都有一个信使,当i城产生一条信息的时候,信使i...
  • litble
  • litble
  • 2017-08-08 17:11
  • 355

bzoj2285: [Sdoi2011]保密 二分答案 分数规划 最小割

bzoj2285: [Sdoi2011] Description 现在,保密成为一个很重要也很困难的问题。如果没有做好,后果是严重的。比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了。 当然,对保密最需求的当然是军方,其次才是像那个人。为了应付现在天上飞来飞去的卫星,军事基...
  • lvzelong2014
  • lvzelong2014
  • 2018-01-19 10:12
  • 51

【最小生成树+二分】bzoj1196 公路修建问题

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1196 题目大意:某城市要修建n-1条路使n个城市连通,要求n-1条路中必须有k条为高级公路,求花费最多的一条公路最少为多少
  • FAreStorm
  • FAreStorm
  • 2015-10-13 21:03
  • 654
    个人资料
    • 访问:990378次
    • 积分:20346
    • 等级:
    • 排名:第483名
    • 原创:1028篇
    • 转载:16篇
    • 译文:0篇
    • 评论:33条
    博客导航
    文章分类
    最新评论