hdu 4803 Poor Warehouse Keeper(贪心)

ABAQUS中Cohesive单元自定义内聚力UMAT开发与单元素验证 在有限元仿真中,界面分层与胶层脱粘是工程失效分析的常见难题,而内聚力模型则是模拟这类界面行为的核心方法。ABAQUS内置的Cohesive behavior虽已覆盖多数场景,但面对自定义损伤起始准则、非线性软化段或率相关参数等需求时,往往需要借助UMAT二次开发实现。本文从双线性牵引-分离本构的数学原理出发,解析弹性段、损伤起始与演化阶段的关键参数关系,并深入说明UMAT中状态变量设计、DDSDDE切线矩阵推导及粘性正则化等工程细节。通过一个COH3D8单元素矩形模型,完整演示了从建模、参数设置到结果对比的 阅读详情

Poor Warehouse Keeper

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5285    Accepted Submission(s): 1356


Problem Description
Jenny is a warehouse keeper. He writes down the entry records everyday. The record is shown on a screen, as follow:

There are only two buttons on the screen. Pressing the button in the first line once increases the number on the first line by 1. The cost per unit remains untouched. For the screen above, after the button in the first line is pressed, the screen will be:

The exact total price is 7.5, but on the screen, only the integral part 7 is shown.
Pressing the button in the second line once increases the number on the second line by 1. The number in the first line remains untouched. For the screen above, after the button in the second line is pressed, the screen will be:

Remember the exact total price is 8.5, but on the screen, only the integral part 8 is shown. 
A new record will be like the following:

At that moment, the total price is exact 1.0.
Jenny expects a final screen in form of:

Where x and y are previously given.
What’s the minimal number of pressing of buttons Jenny needs to achieve his goal?
 

Input
There are several (about 50, 000) test cases, please process till EOF.
Each test case contains one line with two integers x(1 <= x <= 10) and y(1 <= y <= 10 9) separated by a single space - the expected number shown on the screen in the end.
 

Output
For each test case, print the minimal number of pressing of the buttons, or “-1”(without quotes) if there’s no way to achieve his goal.
 

Sample Input
  
1 1 3 8 9 31
 

Sample Output
  
0 5 11
Hint
For the second test case, one way to achieve is: (1, 1) -> (1, 2) -> (2, 4) -> (2, 5) -> (3, 7.5) -> (3, 8.5)
 

Source

题意:Number表示个数,prices表示总的价格。一开始Number和prices都是1。每一次按第一个按钮,number的值+1,prices的值为现在的总价格。按第二个按钮,prices的值+1,number的值不变。给出了最终要达到的Number和prices的值。问最少要按几次按钮。


思路:有两种情况,一种是给的prices的值小于number的值,这个时候一定是达不到的。输出-1。
而另一种情况:
要使得单件物品价格最快的接近最终要得到的价格,一定要在number的数量还小的时候按第二个按钮,这样单件价格才能加的最快。所以,当最后将此时单件价格累加起来小于等于y和按下第二个按钮之后累加起来的值仍小于等于y,则这时候可以按下第二个按钮。否则只能按下第一个按钮将单件价格降低。如果按完了第一个按钮,还达不到最终结果那么只能按第二个按钮。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
    int x,y;
    while(~scanf("%d%d",&x,&y))
    {
        int t=x-1;
        double per=1;
        double total=1;
        double g=y*1.0/x;
        int cnt=0,now=1,flag=0;
        if(y<x)
            printf("-1\n");
        else
        {
            while(t)
            {
                if(now==x&&(int)total==y)
                {
                    flag=1;
                    break;
                }
                if((int)(total/now*x)==y)
                {
                    cnt+=x-now;
                    flag=1;
                    break;
                }
                if((int)(total/now*x)<=y&&(int)((total+1)/now*x)<=y)//可以按第二个按钮
                {
                    if((int)per<(int)g)//不考虑小数部分
                    {
                        total+=(int)g-(int)per;
                        cnt+=(int)g-(int)per;
                        per=total/now;
                    }
                    else//考虑小数部分
                    {
                        total++;
                        cnt++;
                        per=total/now;
                    }
                }
                else//只能按第一个按钮
                {
                    t--;
                    now++;
                    total+=per;
                    cnt++;
                }
            }
            if(flag==0&&(int)total<y)//now达到了x值但是total没有达到y值,此时就要接着按第二个按钮直到totao达到y值。
            {
                cnt+=y-(int)total;
            }
            printf("%d\n",cnt);
        }
    }
    return 0;
}



Java云上香云祭祀线上祭祀系统小程序源码 云上香云祭祀线上祭祀系统”,不仅是一种祭祀方式的创新,更是对传统文化的一次深情致敬。它让我们明白,无论时代如何变迁,对亲人的怀念与尊重永远不会改变。在这个特别的平台上,让我们共同守护那份跨越时空的爱与思念,让心灵得以安放,让生命之树常青。🌳。 阅读详情

相关推荐

信噪比(Signal-to-Noise Ratio, SNR)详细介绍

信噪比(Signal-to-Noise Ratio,SNR)是衡量信号质量的重要参数,表示有用信号的功率与背景噪声功率的比值。其中,\( P_{\text{signal}} \) 表示信号功率,\( P_{\text{noise}} \) 表示噪声功率。- 音频处理:在音频设备和录音系统中,SNR决定了音质的好坏,高SNR表示音频信号更清晰,噪声更少。- 低SNR:信号中噪声成分较大,接收端难以分辨有用信号和噪声,可能导致误码率高,通信质量差。SNR定义为信号功率与噪声功率之比,通常用分贝(dB)表示。

qq_58860480的博客 8万+

hdu 4803 Poor Warehouse Keeper【贪心】

加总价的时候单价会改变 加数量单价不会改变 特判一次 贪心取就可以了 #include&lt;bits/stdc++.h&gt; using namespace std; const double eps = 1e-9; int main () { double x, y; while (scanf("%lf%lf", &amp;x, &amp;y) == 2) { if (...

OOOak 253

MATLAB 2022b 用户专属:保姆级IPOPT求解器安装配置全流程(含OPTI工具箱)

本文为MATLAB 2022b用户提供IPOPT求解器的详细安装与配置指南,涵盖OPTI工具箱的适配安装、环境变量设置及常见问题解决方案。通过实战案例演示非线性优化问题的求解过程,帮助用户高效部署这一强大的优化工具,提升工程计算效率。

weixin_29092031的博客 406

HDU-4803-Poor Warehouse Keeper(贪心+二分)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4803 题目大意:给出两个数x,y。有两种操作, 1.将x+1,同时y+y/x; 2.x不变,y+1; 问最少操作多少次,能够将1,1,变为x,y。 如果不能够变成x,y形式,输出-1。 思路:显然,如果x>y的话,必定不可能。然后我们只有考虑1,1如何变成x,y即可。 经过简单的样...

永远鲜红の幼月的博客 304

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2470

变邻域搜索(VNS)原理梳理和应用细节-附求解VRPTW问题C++代码

文章目录1、简介-introduction2、VNS的基本机制2.1 变邻域下降方法-Variable Neighborhood Descent2.2基本变邻域搜索方法-Basic Variable Neighborhood Search2.3 终止准则3、VNS的拓展和混杂算法3.1 VNS的拓展3.2 变邻域分解搜索-Variable Neighborhood Decomposition Search3.3 偏变邻域搜索-Skewed VNS3.4 并行变邻域搜索-Parallel VNS4、VNS和其

dragon Fly的博客 6826

Hdu 4803 Poor Warehouse Keeper(从1,1变为x,y,精度+思维)

传送门:Hdu 4803 Poor Warehouse Keeper 题意: 刚开始给你x,y都为1,1,每次你可以将y加1,或者将x+1,y+y/x(y如果不为整数,则舍去) 问你有多少最小变化做几次操作使得从(1,1)变为(x,y) 思路一: 经过分析,我们可以发现y/x的斜率是单调递增的,而且将x+1,y+y/x这种操作的操作次数是有限的, 所以我们只需要使x+1,

_zidaoziyan的博客 612

UniApp实战:从文件下载到本地保存与预览的一站式解决方案

本文深入解析了UniApp开发中文件下载、保存与预览的完整流程,提供了基于uni.downloadFile、uni.saveFile和uni.openDocument API的一站式实战解决方案。文章详细拆解了核心API的使用方法、多平台(App、H5)的兼容性处理、常见坑点(如文件路径、权限、格式支持)以及进阶优化技巧(如进度提示、文件管理),旨在帮助开发者构建健壮、用户体验良好的跨平台文件处理功能。

d3e4f的博客 614

ZOJ 2601 Warehouse Keeper

Warehouse Keeper Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged onZJU. Original ID:260164-bit integer IO format:%lld Java class name:Main Special Judge ...

weixin_30878501的博客 127

基于八叉树的k近邻搜索

在八叉树中,每个节点都表示一个正方体的体积元素(体素),并且每个节点都有八个子节点(在不为空的情况下)。搜索最近邻点:一旦确定了查询点在八叉树中的位置,就可以开始搜索最近邻点了。搜索过程通常从查询点所在的叶节点开始,并逐步扩展到相邻的叶节点和父节点,直到找到k个最近邻点为止。k近邻搜索的目标是在给定的点云数据中,找到一个查询点的k个最近邻点。定位查询点:在搜索过程中,首先需要确定查询点在八叉树中的位置。返回结果:最后,搜索算法会返回找到的k个最近邻点的索引和它们与查询点之间的距离。

twnkie的博客 674

科研——BIBM论文修改和提交

BIBM的相关操作流程汇总

Blackoutdragon的博客 6689

【HDU4803】Poor Warehouse Keeper 数学+贪心

题意: 初始状态为:1个物品,总价为1。 目标状态为:x个物品,总价为y。 操作A:变为x+1,y+y/x。(y不取整) 操作B:变为x,  y+1    问最少多少步可以达成条件?(最后操作结束后对y取整) 如果不行输出-1。 题解: 先说"-1"     首先如果x,那么我们可以先一直做操作一,使得状态变为(x,x),然后暴力给y+1 一定可以达成,

辗转山河弋流歌 1685

【人工智能】拒绝焦虑,理性突围:AI 时代 Java 工程师的职业重构与进化指南

摘要:在AI技术快速发展的背景下,Java工程师面临职业转型挑战。本文通过MECE原则解构工作内容,划分高替代风险区(如CRUD开发)、高增效潜能区(如逻辑优化)和高核心壁垒区(如架构设计),指出AI对不同任务的影响程度。从劳动经济学视角分析行业将呈现K型分化,初级执行者被替代,而精通AI协作的全栈工程师需求增长。文章强调警惕过度依赖AI导致认知能力退化,并提出转型路径:掌握AI驱动开发(AIDD)、深耕领域驱动设计(DDD)、拓展全流程能力及AI原生应用开发。最终结论指出,未来的核心竞争力在于结合AI工具

奶爸的编程之路,也就一周冷个三天 136

hdu 4803 Poor Warehouse Keeper(贪心)

hdu 4803 Poor Warehouse Keeper(贪心) Jenny is a warehouse keeper. He writes down the entry records everyday. The record is shown on a screen, as follow:  There are only two buttons on the scre

The_star_is_at的博客 630

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU4803 Poor Warehouse Keeper【贪心】

题意 给出两个只能显示整数的牌子 点击第一个牌子,

Rainto的专栏 1576

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

hdu 4803 Poor Warehouse Keeper(贪心+数学)

版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.youkuaiyun.com/u011328934/article/details/26005267 题目链接:hdu 4803...

weixin_30491641的博客 59

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[HDU 4803]Poor Warehouse Keeper[贪心]

题目链接:[HDU 4803]Poor Warehouse Keeper[贪心] 题意分析: 有两个按钮,上面的按钮每按一次,个数增加1,下方的总数增加相应的单价,单价只显示整数部分;下方的按钮每按一次,总数增加1,不影响上方。现在从(1,1)开始,要到达(x,y),问:最少要按多少次按钮?没有答案则输出-1。 解题思路: 上方按钮不管怎么样都得按X - 1次,所以关键是下方的增长让它最快

闲停 638

HDU 4803 Poor Warehouse Keeper(贪心)

http://acm.hdu.edu.cn/showproblem.php?pid=4803 贪心的策略是,每次尽量加价格,加到能满足

Remilia's 1509

HDU 4803 Poor Warehouse Keeper(贪心,精度..)

HDU 4803 对于已有状态(x,y)(x,y)(x,y)变到终止状态(a,b)(a,b)(a,b) 操作一,状态变成(x+1,y+yx)(x+1,y+\frac{y}{x})(x+1,y+xy​),单价不改变 操作二,状态变成(x,y+1)(x,y+1)(x,y+1),单价变大 因为操作一的执行次数固定是a−1a-1a−1次,所以操作二越早执行越好 但是不能一直执行下去,限制条件就是单价,单价一直在增加,但是不能高于最终的单价 否则因为单价只增不减的特点,最后得到的yyy会超过b+1b+1b+1 这题

jziwjxjd的博客 427

[hdu 4803]Poor Warehouse Keeper 进制相关 贪心

屏幕可以显示两个值,一个是数量x,一个是总价y。有两种操作,一种是加一次总价,变成x,y+1;一种是加一个数量,这要的话总价也会相应加上一个的价钱,变成x+1,y+y/x。总价显示的为取整后的整数,小数部分忽略。给定一个目标x,y,初始状态为1,1,求最少需要多少次可以目标状态,不可以达到的话输出-1. 首先x只能不停加1,所以答案有一部分已经确定了。然后观察y,发现y是由基数1乘乘加加得到的,

MaticsL的专栏 654

HDU-4803-Poor Warehouse Keeper(贪心)

链接: https://vjudge.net/problem/HDU-4803 题意: Jenny is a warehouse keeper. He writes down the entry records everyday. The record is shown on a screen, as follow: There are only two buttons on the s...

weixin_30294021的博客 80

HDU - 4803 Poor Warehouse Keeper(贪心)

Description Jenny is a warehouse keeper. He writes down the entry records everyday. The record is shown on a screen, as follow:  There are only two buttons on the screen. Pressing the button i

那些年 1499

HDU 4803 Poor Warehouse Keeper(贪心)

题意: 让你按如题所示的两个按钮,初始情况是1 1,问你最少多少次可以把他按成x y。 这个贪心策略还是略机智的,因为上面一个按钮会影响下面的,而下面的只会影响单价,所以我们要尽量是下面的变大,达到一个最大值,然后上面的只要按几次就能达到了。 但是下面的也不能太大,不然等上面的按钮达到要求之后,就会使得下面的溢出了,所以我们每次在按上面按钮之前让下面的达到尽量大就可以了。 代码://

只玩三国的程序猿的专栏 507

HDU - 4803 Poor Warehouse Keeper 贪心 + 思维

题意:给出两种操作: 如果按下按钮1,会使数量+1,总价对应增长单价数目(因此按下按钮1不会改变单价) 如果按下按钮2,会使总价加1,数量不变(按下按钮2会使单价增加) 现在问至少多少步可以使得   按钮1数字为x, 按钮2数字为y;

WA是一笔财富 313

hdu 4803 Poor Warehouse Keeper (贪心思维)

Poor Warehouse Keeper Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5117    Accepted Submission(s): 1313 Problem Description Jenn

Singular__point的博客 608
上一篇: codeforces 631C (单调栈+思维)
下一篇: 51nod 1277 字符串中的最大值(KMP)
Timeclimber
博客等级 码龄9年 25粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值