折纸

又一超经典的玫瑰折纸教程

爷,独闯天下 提交于 2020-03-15 05:29:49
又一超经典的玫瑰折纸教程 图片附件:[第一步,请准备一张正方形的纸,最好大点阿,我的是15*15厘米的,:)] kevin01.jpg (2006-7-26 03:28 PM, 53.09 K) 图片附件:[然后对纸进行一次四等分的十字折叠,留出清晰的折痕,:)] kevin02.jpg (2006-7-26 03:28 PM, 35.64 K) 图片附件:[接下来根据折痕将纸先二分,再四分折叠出这样的效果] kevin03.jpg (2006-7-26 03:28 PM, 31.55 K) 图片附件:[在折纸的中心位置为准,折出一个不要超过1厘米的小三角形,要用力] kevin04.jpg (2006-7-26 03:28 PM, 29.34 K) 图片附件:[展开整张纸,就可以看到一个小正方形,这时候加强一下正方形的边,成这样.] kevin05.jpg (2006-7-26 03:28 PM, 41.14 K) 图片附件:[捏住两边的折痕,往中间挤压,成蚌嘴状,再次修正蚌嘴的边角.] kevin06.jpg (2006-7-26 03:28 PM, 32.47 K) 图片附件:[蚌嘴需要两边都作,然后展开纸,可以看到这样的一个新的正方形] kevin07.jpg (2006-7-26 03:28 PM, 40.93 K) 图片附件:[延正方形的边向两侧继续用力折出折痕

【折纸】如何折一个装桌面垃圾的纸盒子

流过昼夜 提交于 2020-03-11 17:12:22
教大家如何折一个装桌面垃圾的纸盒子,这样在位置上吃零食的时候就不会把桌面弄脏了。 Step1:对折 Step2:再对折 Step3:展开,Step2留下的折痕即为中线 Step4:把两个角沿着中线向中间折 Step5:把两个角展开,顺着Step4的折痕往内折 Step6:按照Step5的做法处理另外一个角 Step7:一图抵千言,看图吧 Step8:沿着线D向上翻折 Step9:按照Step8的做法处理另外一面 Step10:为了让盒子能够在不借助胶水、胶布的前提下更牢靠,还需要处理一下 Step11:这样扣住 Step12:四个角都扣好之后的样子 Step13:大功告成 来源: https://www.cnblogs.com/duxiuxing/p/3541131.html

折纸

旧巷老猫 提交于 2020-02-22 21:01:44
【问题描述】 在非常紧张的NOIP 考试中,有人喜欢啃指甲,有人喜欢转铅笔,有人喜欢撕 纸条,……而小x 喜欢迷折纸。 现有一个W * H 的矩形纸张,监考老师想知道,小x 至少要折多少次才能使 矩形纸张变成w * h 的矩形纸张。 注意,每次的折痕都要平行于纸张的某一条边。 【输入格式】 第一行包括两个整数W,H。 第二行包括两个整数w,h。 【输出格式】 输出一个整数,表示至少需要折的次数。若无解,则输出-1。 【输入输出样例】 Input1 2 7 2 2 Output1 2 Input2 5 5 1 6 Output2 -1 Input3 10 6 4 8 Output3 2 【数据说明】 对于20% 的数据满足:W = w 且H,h≤3。 对于100% 的数据满足: 1 ≤ W,H,w,h ≤ 109 。 思路: 将本题翻译一下:给定两个数x1、y1,你每一次可以将其中一个数k最多减少k div 2(div表示整除),求至少要多少次可以变成x2,y2。 其实这一题一看就是贪心,我先将x1,y1与x2,y2对应,再只要一个数比对应的数大,就减一次k div 2,然后ans++。代码如下: 1 #include<bits/stdc++.h> 2 using namespace std; 3 long long w,h,w1,h1,ans; 4 int main() 5 { 6

左神算法基础班4_5折纸问题

偶尔善良 提交于 2020-02-22 21:01:05
Problem:   【题目】 请把一段纸条竖着放在桌子上,然后从纸条的下边向   上方对折1次,压出折痕后展开。此时 折痕是凹下去的,即折痕   突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折   2 次,压出折痕后展开,此时有三条折痕,从上到下依次是下折   痕、下折痕和上折痕。   给定一 个输入参数N,代表纸条都从下边向上方连续对折N次,   请从上到下打印所有折痕的方向。 例如:N = 1时,打印: down   N = 2时,打印: down down up Solution:   首先,计算折痕次数是很好算的,一共是2^0 + 2^1 + ...+ 2^N   上下折痕次数也很好算,第一次是下折痕,然后上下折横次数平分总折横次数,下折痕多一次   但是不知道怎么使用递归   但是找到规律了,就是在上一次折痕的间隙依次插入下、上n次   比如:     第2次折痕为: 下 下 上     第3次折痕为 下 上 下 上     即: 下 下 上 下 下 上 上 Code:    1 #pragma once 2 #include <iostream> 3 #include <vector> 4 #include <string> 5 6 using namespace std; 7 8 struct Node 9 { 10 string str; 11 Node

嵊州D5T2 折纸 folding

我怕爱的太早我们不能终老 提交于 2020-02-22 21:00:09
折纸 folding 【问题描述】 在非常紧张的 NOIP 考试中,有人喜欢啃指甲,有人喜欢转铅笔,有人喜欢撕 纸条,……而小 x 喜欢迷折纸。 现有一个 W * H 的矩形纸张,监考老师想知道,小 x 至少要折多少次才能使 矩形纸张变成 w * h 的矩形纸张。 注意,每次的折痕都要平行于纸张的某一条边。 【输入格式】 第一行包括两个整数 W,H。 第二行包括两个整数 w,h。 【输出格式】 输出一个整数,表示至少需要折的次数。若无解,则输出-1。 【输入输出样例】 Input1 Input2 Input3 2 7 2 2 5 5 1 6 10 6 4 8 Output1 Output2 Output3 2 -1 2 【数据说明】 对于 20% 的数据满足:W = w 且 H,h≤3。 对于 100% 的数据满足: 1 ≤ W,H,w,h ≤ 9 10 。 Solve 先 从错误中得出正确结论 #include<bits/stdc++.h> using namespace std; int W,H,w,h; int func(double a,int b){ if(b>=a) return 0; if(b>=a/2.0) return 1; return func(a/2.0,b)+1; } int main(){ // freopen("folding.in","r"

折纸

為{幸葍}努か 提交于 2020-02-22 20:56:22
折纸 【问题描述】 在非常紧张的 NOIP 考试中,有人喜欢啃指甲,有人喜欢转铅笔,有人喜欢撕 纸条,……而小 x 喜欢迷折纸。 现有一个 W * H 的矩形纸张,监考老师想知道,小 x 至少要折多少次才能使 矩形纸张变成 w * h 的矩形纸张。 注意,每次的折痕都要平行于纸张的某一条边。 【输入格式】 第一行包括两个整数 W,H。 第二行包括两个整数 w,h。 【输出格式】 输出一个整数,表示至少需要折的次数。若无解,则输出-1。 【输入输出样例】 Input1 2 7 2 2 Output1 2 Input2 5 5 1 6 Output2 -1 Input3 10 6 4 8 Output3 2 【数据说明】 对于 20% 的数据满足:W = w 且 H,h≤3。 对于 100% 的数据满足: 1 ≤ W,H,w,h ≤ 9 10 。 Code #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int main() { long long w,h,x,y,ans=0; cin>>x>>y; cin>>w>>h; if((x<w&&y<w)||(x<h&&y<h)) { cout<<"-1"; return

牛客网之“折纸问题”

匿名 (未验证) 提交于 2019-12-03 00:26:01
昨天在看左程云数据结构视频时遇到一道折纸问题,当时比较感兴趣,并对问题进行分析提取关键点进而通过代码实现。 内容分为:题目描述、问题分析、解决问题和代码描述四大部分。 题目描述 折纸问题 简要说:将纸条从下往上对折N次,由上往下产生的折痕方向序列。 问题分析 对问题进行步骤分析如下: 1. 首先,要对问题进行详细剖析的前提是拿张纸对折几次并从中发现规律。 2. 其次就是进行试验,发现对折1次时折痕为1方向为down,对折2次时折痕为3方向为down down up,对折3次时折痕为7方向为down down up down down up up,对折4次时折痕为15方向为down down up down down up up down down down up up down up up。 3. 最后从结果中找出规律,完成编码。 解决问题 在这里给张图就可以清晰的把问题解决掉。 从结果中分析:第一次折纸后方向为down,第二次折纸后 围绕第一次结果从上往下增加了down和up ,第三次结果 围绕第二次结果(不包括第一次)每个折痕多了down和up 。假定我们猜想,通过实验分析和验证第四次结果正确性。明显结果正确,猜想成立。 代码描述 直接上代码: /* 折纸问题 【题目】 请把一段纸条竖着放在桌子上,然后从纸条的下边向 上方对折1次,压出折痕后展开。此时 折痕是凹下去的,即折痕

[NOIP模拟测试]:折纸(模拟)

强颜欢笑 提交于 2019-11-27 13:39:17
题目描述 小$s$很喜欢折纸。 有一天,他得到了一条很长的纸带,他把它从左向右均匀划分为$N$个单位长度,并且在每份的边界处分别标上数字$0\sim n$。 然后小$s$开始无聊的折纸,每次他都会选择一个数字,把纸带沿这个数字当前所在的位置翻折(假如已经在边界上了那就相当于什么都不做)。 小$s$想知道$M$次翻折之后纸带还有多长。 输入格式 第一行包含两个正整数$N$和$M$,表示纸带的长度和操作的次数。 接下来的一行包含$M$个整数$D_i$,其中$D_i$表示第$i$次选择的数字。 输出格式 输出文件只有一个数字,即纸带最后的长度。 样例 样例输入: 5 2 3 5 样例输出: 2 数据范围与提示 $60\%$的数据中$N\leqslant 3,000,M\leqslant 3,000$。 $100\%$的数据中$N\leqslant {10}^{18},M\leqslant 3,000$。 题解 $60\%$算法: 直接模拟翻折过程,记录每一个点现在的位置即可,每次暴力更新。 记得初始化。 时间复杂度:$\Theta(N\times M)$。 期望得分:$60$分。 实际得分:$60$分。 $100\%$算法: 发现我们并不用关心每个纸带的位置,只用考虑当前操作的位置就好了。 每次翻折之后对所有的操作进行$\Theta(M)$重标号即可,至于式子$D_j=abs(D_i-D