Folding

题意:
给你一张矩形的尺寸为W x H的纸,问最少折多少次能够折成一个w x h的纸。
(折纸的时候只能平行折)

思路:
先判断是否能够折出一个w x h的纸,若长边大于长边,短边大于短边,则可以实现,否则不行。
接下来我一开始想的是长边的往长边折,短边的往短边折,结果总是WA。
后来想想不能这样,如果短边和目标长边相等,长边又能只折一次就得到短边,答案是更优的。
那我们只要再算一次长边折到短边,短边折到长边的情况,然后比较一下大小就可以了。

代码:

#include<bits/stdc++.h>
#define maxn 10000000
#define ll long long
using namespace std;
ll llog[maxn];
void init()
{llog[0]=0;llog[1]=1;for(ll i=2;i<maxn;i++){if(((i)&(i-1))==0) llog[i]=llog[i-1]+1;else llog[i]=llog[i-1];}
}
ll W,H,w,h;
int main()
{//init();FILE *in,*out;in=fopen("folding.in","r");out=fopen("folding.out","w");while(~fscanf(in,"%lld%lld%lld%lld",&W,&H,&w,&h)){if(max(W,H)<max(w,h)||min(W,H)<min(w,h)) fprintf(out,"-1\n");else{double a,b,c,d;a=(double)max(W,H);b=(double)min(W,H);c=(double)max(w,h);d=(double)min(w,h);//printf("%f %f %f %f \n",a,b,c,d);ll r1,r2;for(r1=0;;r1++){if(a<=c) break;a/=2;}for(r2=0;;r2++){if(b<=d) break;b/=2;}ll res1=r1+r2,res2=2000000000;a=(double)max(W,H);b=(double)min(W,H);c=(double)max(w,h);d=(double)min(w,h);if(b>=c){for(r1=0;;r1++){if(a<=d) break;a/=2;}for(r2=0;;r2++){if(b<=c) break;b/=2;}res2=r1+r2;}fprintf(out,"%lld\n",min(res1,res2));}}fclose(in);fclose(out);return 0;
}

Gym 101142F Folding相关推荐

  1. Gym - 101142F Folding(折半)

    点击打开题目链接 题目大意:Alex喜欢折纸,将一张 W * H 的纸折成 w * h 的纸片,问最少需要折几次. 由样例也可以看出,最小次数的情况就是对折除以二的情况.只要一直让纸片的长度和宽度分别 ...

  2. Codeforces Gym 101473D Folding Machine (暴力搜索)

    题目连接: http://codeforces.com/gym/101473/attachments 原先以为按照这个复杂度还要剪一下支,没想到暴力dfs完全可以通过. 代码: #include &l ...

  3. D - Folding Machine ( dfs )

    D - Folding Machine ( dfs ) 题目链接:https://codeforces.com/gym/101473/attachments 题意:长度为n的原始数组a,和长度为m的目 ...

  4. 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例

    强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码.在以后的内容我会把相关代码都附到相关内容的后面.本部 ...

  5. Gym - 102082G

    Gym - 102082G https://vjudge.net/problem/2198225/origin 对于数列中任意一个数,要么从最左边到它不递减,要么从最右边到到它不递减,为了满足这个条件 ...

  6. 安装gym库_强化学习Gym库学习实践(一)

    最近看了一篇研究方向相关的文章,介绍了一种DQN的应用,感觉还挺新鲜的.想着把这篇文章复现出来,就开始学习强化学习的相关知识,作为一名小白,这一路走的可是真的十分艰难(我太菜了啊!) 看了莫烦Pyth ...

  7. 强化学习环境库 Gym 发布首个社区发布版,全面兼容 Python 3.9

    作者:肖智清 来源:AI科技大本营 强化学习环境库Gym于2021年8月中旬迎来了首个社区志愿者维护的发布版Gym 0.19.该版本全面兼容Python 3.9,增加了多个新特性. 强化学习环境库的事 ...

  8. Gym迎来首个完整环境文档,强化学习入门更加简单!

    深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑:OpenDeepRL OpenAI Gym是 ...

  9. Codeforces Gym 100513G G. FacePalm Accounting 暴力

    G. FacePalm Accounting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513 ...

最新文章

  1. php 图像函数,PHP图像操作常用函数
  2. 清华通信本硕巨佬秋招经验总结,收割互联网大厂后端 SP/SSP offer,太强了!
  3. solr4.5分组查询、统计功能介绍
  4. 不忘历史才能开辟未来,善于继承才能善于创新
  5. matlab批量对图片进行添加椒盐噪声并批量保存到文件夹
  6. REALM后续:最近邻搜索,MIPS,LSH和ALSH
  7. accounts/login/?next=/account/password-change/
  8. 笨方法学python第四版当当_“笨办法”学Python(第3版)
  9. 一个 Spring Boot 项目该包含哪些?
  10. c语言产品信息管理课程设计,商品信息管理系统(C语言课程设计).doc
  11. Visio 2019 专业版安装教程
  12. 贴片电阻封装规格及阻值标注方法
  13. Java推箱子游戏,文档+源码
  14. 马克飞象自定义代码段风格
  15. ORACLE 排序函数row_number / rank / dense_rank
  16. 关于纹理勾选sRGB的疑惑
  17. 微信文件传输助手网页版
  18. 人气爆棚!让我瞧瞧谁家展位这么6?
  19. 新增A股热门概念行情—股票数据远程下载服务升级
  20. view桌面模板控制usb权限

热门文章

  1. Maven虐我千百遍,我待Maven如初恋!
  2. 一本正经需求洽谈老黄历 No.136
  3. C语言中除以怎么使用
  4. 前端学习 之 JavaScript 之 JSON
  5. 终于,小灰又一次获得了10W+
  6. llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
  7. 一场AMA讲透比原链BaaS平台Bystack
  8. 萤石云API (4年前分享)
  9. 告诉你重装系统win7方法,怎么一键重装win7系统
  10. 【Python3】作业车间/柔性作业车间/流水车间/混合流水车间/单目标遗传算法/禁忌搜索/关键块移动