A1504. Book(王迪)
时间限制:1.0s   内存限制:256.0MB   Special Judge
总提交次数:359   AC次数:97   平均分:43.76
 
将本题分享到:
      
试题来源
  2013中国国家集训队第二次作业
问题描述
  Wayne喜欢看书,更喜欢买书。
  某天Wayne在当当网上买书,买了很多很多书。Wayne有一个奇怪的癖好,就是第一本书的价格必须恰为X,而之后买的每一本书,若是比上一本更昂贵,则价格最多多A元;若是比上一本更便宜,则价格最多少B元。
  Wayne心血来潮,一口气买了N本书,但他记不得每本书的价格了,只记得总价格是M。Wayne于是很想知道一种可能的书价分布。为了简化问题,我们假定书价的定义域是整数,且每本书与上一本书的价格差,要么恰为+A,要么恰为-B。
  只要给出任意一个合法的书价序列就算正确。
输入格式
  第一行一个正整数N。
  第二行四个整数依次是X,A,B,M。
输出格式
  输出一行N个整数,用空格隔开。数据保证有解。
样例输入
4
10 1 2 37
样例输出
10 11 9 7
数据规模和约定
  对于5%的数据,满足N = 1。
  对于另外25%的数据,满足A = B = 1, N <= 100。
  对于另外10%的数据,满足A, B <= 5, N <= 100。
  对于另外20%的数据,满足N <= 1000。
  对于100%的数据,满足1 <= A, B <= 10^6,|X| <= 10^6,N <= 10^5,M可用带符号64位整型存储。
 
 
题解:
数论+贪心
以下是王迪的解题报告:
 
 #include<bits/stdc++.h>
using namespace std;
#define LL long long
//LL prey[100010];
bool vis[];
LL read()
{
LL s=,fh=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')fh=-;ch=getchar();}
while(ch>=''&&ch<=''){s=s*+(ch-'');ch=getchar();}
return s*fh;
}
int main()
{
LL n,x,a,b,m,k,i,j,lp;
n=read();
x=read();a=read();b=read();m=read();
k=n*x+((n-)*n)/*a;//假设全部增加a的总钱数.
k-=m;//用 全部增加a的总钱数 减去 实际花费的钱数 得到有多少钱从 +a 转化为 -b ,也就是减去(a+b).
k/=(a+b);//计算出有多少书进行了从 +a 转化为 -b.
//因为改变每一个差量,所影响的数的个数为(0,1,2...n-1)中的一个.所以,我们只需要求出k可以由 0~(n-1) 中的哪一些组成.
memset(vis,false,sizeof(vis));
for(i=n-;i>=;i--)//倒着去找,一定保证k可以组成.(有点类似倍增LCA的倒着找的原理)
{
if(k>=i)
{
k-=i;
vis[i]=true;//标记为true的代表要转换为-b.
if(k==)break;
}
}
/*双重循环(60分)
for(i=1;i<=n;i++){prey[i]=x;x+=a;}
for(i=1;i<=n-1;i++)
{
if(vis[i]==true)
{
for(j=n;j>=n-i+1;j--)prey[j]-=(a+b);
}
}
for(i=1;i<=n;i++)printf("%lld ",prey[i]);*/
printf("%lld",x);
for(i=n-;i>=;i--)
{
if(vis[i]==true)//若要转化为-b,就要在原先的x的基础上加上-b(即减去b).
{
x-=b;
}
else
{
x+=a;
}
printf(" %lld",x);
}
fclose(stdin);
fclose(stdout);
return ;
}

Tsinsen A1504. Book(王迪) 数论,贪心的更多相关文章

  1. 2018.10.31 NOIP模拟 一串数字(数论+贪心)

    传送门 把每一个数aaa质因数分解. 假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1​​∗p2a2​​∗...∗pkak ...

  2. 2018.10.27 codeforces402D. Upgrading Array(数论+贪心)

    传送门 唉我觉得这题数据范围1e5都能做啊... 居然只出了2000 考完听zxyzxyzxy说我的贪心可以卡但过了? 可能今天本来是0+10+00+10+00+10+0只是运气好T1T1T1骗了10 ...

  3. SPOJ - LOCKER 数论 贪心

    题意:求出\(n\)拆分成若干个数使其连乘最大的值 本题是之江学院网络赛的原题,计算规模大一点,看到EMAXX推荐就做了 忘了大一那会是怎么用均值不等式推出结果的(还给老师系列) 结论倒还记得:贪心分 ...

  4. Codefoces 432C Prime Swaps(数论+贪心)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011328934/article/details/26094917 题目连接:Codefoces ...

  5. CodeForces 124C Prime Permutation (数论+贪心)

    题意:给定一个字符串,问你能不能通过重排,使得任意一个素数p <= 字符串长度n,并且 任意的 i <= 长度n/素数p,满足s[p] == s[p*i]. 析:很容易能够看出来,只要是某 ...

  6. codeforces 402 D. Upgrading Array(数论+贪心)

    题目链接:http://codeforces.com/contest/402/problem/D 题意:给出一个a串和素数串b .f(1) = 0; p为s的最小素因子如果p不属于b , 否则 . a ...

  7. 牛客:t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数(数论+贪心)

    https://ac.nowcoder.com/acm/contest/907/B t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数 分析: 根据约数和定理:对于一个大于1正整数 ...

  8. CF798 C. Mike and gcd problem

    /* CF798 C. Mike and gcd problem http://codeforces.com/contest/798/problem/C 数论 贪心 题意:如果一个数列的gcd值大于1 ...

  9. POJ 3154 Graveyard【多解,数论,贪心】

    Graveyard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1707   Accepted: 860   Specia ...

随机推荐

  1. 基于HTML5和JSP实现的图片Ajax上传和预览

    本文对如何实现使用Ajax提交"multipart/form"格式的表单数据,已经如何在图片上传之前,在浏览器上进行预览.使用的主要相关技术HTML5的FILE API,XMLHt ...

  2. ASP.NET获取上传图片的大小

    1.采用客户端javascript可以取得图片大小 <input id="FileUpload" type="file" size="30&qu ...

  3. Invoke()方法的使用

    在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界 ...

  4. 【转】oracle Sequence

    http://blog.csdn.net/zhoufoxcn/article/details/1762351 在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没 ...

  5. canvas径向渐变详解

    创建径向渐变步骤如下: 1,创建径向渐变对象 createRadialGradient(x0,y0,r0,x1,y1,r1),其中x0,y0,r0分别为起始圆的位置坐标和半径,x1,y1,r1为终止圆 ...

  6. php操作memcache的用法、详解和方法介绍

    1.简介 memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问. memcache也提供用于通信对话(sess ...

  7. LOL(英雄联盟)系统鼠标速度锁定工具

    最近习惯将系统的鼠标速度降低, 而提高鼠标硬件DPI来提升移动准确度, 但是LOL的客户端每次启动进入游戏后就会还原系统鼠标的移动速度, 我把情况反应给腾讯,没想到他们一点都不重视, 建议我只改游戏里 ...

  8. UISearchBar -- 备忘

    搜索功能的备忘 UISearchBar UISearchBar是一个搜索栏,继承自UIView,也是常用的控件之一,所以特别写一篇备忘方便以后做工具文章. 例子: let searchBar = UI ...

  9. bzoj 1576: [Usaco2009 Jan]安全路经Travel 树链剖分

    1576: [Usaco2009 Jan]安全路经Travel Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 665  Solved: 227[Sub ...

  10. BZOJ 1692: [Usaco2007 Dec]队列变换

    Description FJ打算带他的N(1 <= N <= 30,000)头奶牛去参加一年一度的"全美农场主大奖赛".在这场比赛中,每个参赛者都必须让他的奶牛排成一列 ...