读题点 这里
题意简述
有 $n$ 块橘子皮,每块大小是 $a_i$。你可以做一次操作将一块橘子皮分成任意大小的两块,整个过程橘子皮总量是不变的。问要使任意两块橘子皮 $x,y\ (x\le y)$ 都满足 $2x<y$ 的最小操作数。
思路分析
为使操作数最小,我们可以将划分橘子皮的大小定为 $minn \times 2-1$ ( $minn$ 为所有橘子皮长度的最小值)。
特别地,若当前橘子皮的长度 $a_i$ $mod$ $(minn \times 2-1)=0$,则答案需要减去 $1$。
代码
123456789101112131415161718192021222324#include<bits/stdc++.h>using namespace std;#define N 105int T,n,a[N];int main(){ cin>>T; while(T--){ cin>>n; int minn=0x7fffffff,ans=0; for(int i=1;i<=n;i++){ c ...
读题点 这里
题意简述
假设一周有 $n$ 天,第 $n$ 天的下一天是第 $1$ 天,有三天休息,其中第 $n$ 天一定休息。现需要安排剩下的两个休息日,要求:
不能使得休息日相邻,很明显第 $1$ 天不能作为休息日。
这两个休息日将 $n-1$ 天分成三段,记每段天数分别为 $l1,l2,l3$。
求最大的 $\min(\ |l1-l2|\ ,\ |l2-l3|\ ,\ |l1-l3|\ )$。
思路分析
只有使休息日之间的间隔相等,才能使 $\min(\ |l1-l2|\ ,\ |l2-l3|\ ,\ |l1-l3|\ )$ 最大。故最大值为 $(n-6) \div 3$。
代码
1234567891011121314#include<bits/stdc++.h>using namespace std;int T,n;int main(){ cin>>T; while(T--){ cin>>n; cout<<(n-6)/3<<endl; } //system(" ...
读题点 这里
题意简述
有一个非负整数序列 $a$,定义 $d_1=a_1,d_i=|a_i-a_{i-1}|$。现在给出序列 $d$,问是否能确定唯一的序列 $a$。不能输出 $−1$ ,否则输出序列 $a$。
思路分析
我们通过 $d_i=|a_i-a_{i-1}|$ 可以得到 $a_i=d_i+a_{i-1}$ 或 $a_i=a_{i-1}-d_i$。
当序列 $a$ 只有唯一的一种可能性时, $d_i+a_{i-1}$ 和 $a_{i-1}-d_i$ 其中只能有一个大于或等于 $0$ ,或是它们的值相等。
所以我们可以求出 $d_i$ 对应的两个 $a_i$ 的值,当不满足条件时输出 $−1$ ,否则将其中大于或等于 $0$ 的值存入数组即可。
代码
123456789101112131415161718192021222324252627282930313233343536#include<bits/stdc++.h>using namespace std;#define N 105int T,n,d[N],a[N];int main(){ cin ...
读题点 这里
题意简述
给定一个 $n\times m$ 的国际象棋棋盘,求一个格子使得马在上面不能走到其它格子。不存在则输出任意一个格子。
思路分析
假设马现在在 $(x,y)$ ,那么下一步它可以跳到 $(x \pm 1,y \pm 2)$ 或 $(x \pm 2,y \pm 1)$。
我们可以得出以下结论:
当 $n,m \le 2$ 时,任意格子都满足条件。
当 $n=m=3$ 时,方格中间的数满足条件。
当 $n,m>3$ 时,无解,输出任意一个坐标即可。
故输出方格中间的数一定满足条件
代码
1234567891011121314#include<bits/stdc++.h>using namespace std;int T,n,m;int main(){ cin>>T; while(T--){ cin>>n>>m; cout<<(n+1)/2<<" "<<(m+1)/2<<endl; } //sy ...
读题点 这里
题意简述
给定一个金字塔(第 $i$ 层有 $i$ 个房间),设第 $i$ 层的第 $j$ 个房间为 $a_{i,j}$ ,那么可以从 $a_{i,j}$ 到达 $a_{i+1,j}$ 和 $a_{i+1,j+1}$。每个房间可以选择放 $1$ 个灯泡或者不放,每个房间的亮度是所有能到达这个房间并且放了灯泡的房间的数量,要求第 $i$ 行的 $i$ 个房间亮度相同,请求出一种放灯泡的方案使放置的灯泡数量最多。
思路分析
我们只要在每一行两端的房间中放置灯泡,就可以使第 $i$ 行的 $i$ 个房间亮度相同。
例如,当 $i=5$ 时,灯泡的摆放为
1234511 11 0 11 0 0 11 0 0 0 1
代码
12345678910111213141516171819#include<bits/stdc++.h>using namespace std;int T,n;int main(){ cin>>T; while(T--){ cin>>n; cout<<1<<endl; for( ...
C++题解
未读读题点 这里
思路分析
我们可以发现,只有当 $a_{i}$ 只有一个, $x$ 能被 $a_{i}$ 整除且 $a_{i}$ 和 $x$ 异号时,才无法完成 $10^{100}$ 次操作。
那么,我们只要筛出无法完成操作的情况,剩下的便一定能够完成操作。
代码
12345678910111213141516171819#include<bits/stdc++.h>using namespace std;int T,n,x,a[10];int main(){ cin>>T; while(T--){ cin>>n>>x; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1);//去重前要对数组先排序 int l=unique(a+1,a+n+1)-a-1;//去重并求出去重后数组的长度 if(l==1&&x%a[1]==0&&x*a[1]<0) cout<<" ...
读题点 这里
题意简述
有 $n$ 种颜色的球,第 $i$ 种颜色的球有 $cnt_{i}$ 个(保证球的总数为奇数),每次可以拿走两个颜色不同的球,最后一定会剩下一种颜色的球。请输出剩下的颜色可能是什么(任意一种可能即可)。
思路分析
我们不难得到,最后被取走的一种颜色,这种颜色的球数量一定最多。
因为保证球的数量为奇数个,所以一定会剩下一种颜色的球,故不需要再特判球被取完的情况。
代码
12345678910111213141516171819202122#include<bits/stdc++.h>using namespace std;int T,n;int main(){ cin>>T; while(T--){ cin>>n; int a,maxx=-1,maxi=0; for(int i=1;i<=n;i++){ cin>>a; if(a>maxx){ maxx=a; maxi=i; } } cout<< ...
读题点这里
这就是一道大水题啊!
题目简述
给定一个整数 $n$,要求构造一个整数数组 $a_{1},a_{2},…,a_{n}$,使得以下条件成立:
$1 \le a_{i} \le 10^9$
$a_{1}<a_{2}<…<a_{n}$
$a_{i}$ 不能够被 $a_{i-1}$ 整除
思路分析
这道题目其实非常简单。
我们不难发现,当 $a_{1}=2,a_{2}=3,a_{3}=3,…,a_{n}=n+1$ 的时候,满足上述条件,此时 $a_{i}$ 一定不能够被 $a_{i-1}$ 整除。
如果你发现了其它方法,那当然很好,但是一定要注意 $1 \le a_{i} \le 10^9$ 这一条件。
完整代码
1234567891011121314151617#include <bits/stdc++.h>using namespace std;int t,n;int main(){ cin>>t; while(t--){ cin>>n; for(int i=1 ...
题目地址
题目描述
给定一个整数 $n$ ,要求构造一个整数数组 $a_{1},a_{2},…,a_{n}$ ,使得以下条件成立:
$1 \le a_{i} \le 10^9$
$a_{1}<a_{2}<…<a_{n}$
$a_{i}$ 不能够被 $a_{i-1}$ 整除
可以证明这样的数组在问题的约束下总是存在的。
输入格式
第一行包含测试用例的数量 $t$ ( $1 \le t \le 100$ )。
每个测试用例只有一行,包含一个整数 $n$ ( $1 \le n \le 1000$ )。
保证所有测试样例中的 $n$ 的总和不超过 $10^4$
输出格式
对于每一个测试样例输出 $n$ 个整数 $a_{1},a_{2},…,a_{n}$ ——你找到的数组。如果有多个数组满足所有条件,则输出其中任何一个即可。
引言
在进行引用B站用iframe方式引入视频时发现,通过默认的方式导入会使得屏幕很小。
效果
方法
bilibili默认给的是一个iframe,在iframe中添加css样式:style="position:absolute; height: 100%; width: 100%;"
在原来的iframe外面嵌套一层div,div添加样式:style="position:relative; padding-bottom:75%"
123<div style="position:relative; padding-bottom:75%; width:100%; height:0"> <iframe src="//player.bilibili.com/player.html?bvid=BV1au411B7cf&page=1" scrolling="no" border="0" frameborder=" ...












