二分查找 ZOJ4130

news/2024/11/2 2:36:02/

ZOJ4130

题目链接在此!

题目大意:

关灯问题。
总共n个灯,然后给状态,一次能关掉连续的m个灯。
关灯k次就能成功,问最少的m。
注意!不是改变状态!是关掉!0不会重新变成1的。

题目思路:
二分的方法,让left=1,right=总灯数,key为每次熄灭的灯数,用num来记录总次数,只要num小于等于k即可,最后输出最小的key,也就是left。

这题是我亲爱的队友做的,我试着理解一下然后讲清楚。
我和她们代码风格还挺不一样的。


#include <iostream>
#include <vector>
#include <cstring>
#include <string>
#include <iomanip>
#include <cmath>
#include <map>
#include <stack>
#include <algorithm>
#include <queue>
#include <set>
#include <cstdio>
#define INF 0x3f3f3f3f
#define MAX 200100
#define ll long long
using namespace std;int N, K;
int dir[MAX];
//开全局了!要学习!int main()
{int T;scanf("%d", &T);while(T--){scanf("%d%d", &N, &K);getchar();//读入一个换行!for(int i = 0; i < N; i++){dir[i] = getchar() - '0';}//好接下来开始二分!int l = 1, r = N;while(l < r)//这一整段的操作:判断mid是否能使得操作次数小于k{int mid = (l + r) / 2;int cnt = 0;for(int j = 0; j < N; j++){if(dir[j] == 0)//灯是灭掉的!我们需要把1->0//跳过!直到找到需要关闭的灯。continue;j += mid - 1;//移动mid,等于说找到开着的灯然后把从他开始的mid个全关了。cnt++;//关灯次数}if(cnt <= K)//直到找到最小的k.{r = mid;}else{l = mid + 1;}}printf("%d\n", l);}return 0;
}

就很清楚!
怎么克服根深蒂固的自卑啊。


http://www.ppmy.cn/news/221952.html

相关文章

zoj 4130(The 16th Zhejiang Provincial Collegiate Programming Contest D)(思维)

传送门&#xff1a; 题意&#xff1a; 你现在有nnn个点&#xff0c;对于第iii个点&#xff0c;可以到达第i−1i-1i−1、2∗i2*i2∗i、2∗(i1)2*(i1)2∗(i1)、⌊i2⌋\left \lfloor \frac{i}{2} \right \rfloor⌊2i​⌋号点。现在问你从111号点开始的哈密顿路径。 分析&#xff1…

ZOJ -4130 Turn It Off

题目描述&#xff1a; Its already 21:30 now, and its time for BaoBao to go to bed. To ensure his sleeping quality, BaoBao decides to turn all the lights in his bedroom off. There are n lights, numbered from 1 to n, arranged in a row in BaoBaos bedroom. Ea…

“同档位无对手”的荣耀90系列,有哪些厉害的能力?

5 月 29 日&#xff0c;荣耀90系列正式发布。该系列包括荣耀90 Pro与荣耀90两款机型。 这两款机型都有哪些厉害的能力&#xff1f; 一、赵明&#xff1a;荣耀90系列“同档位无对手” 发布会在天府之国的成都市举行&#xff0c;这个以时尚和美食著称的城市&#xff0c;近年来…

P4130或JZOJ 1214. 【NOI2007】项链工厂

D e s c r i p t i o n Description Description 写一种数据结构&#xff0c;支持区间染色&#xff0c;区间翻转&#xff0c;区间旋转&#xff0c;区间查询颜色&#xff0c;单点修改颜色 对 于 100 % 的 数 据 &#xff0c; N ≤ 500000 &#xff0c; Q ≤ 500000 &#xff0…

P4130,jzoj1214-[NOI2007]项链工厂【线段树】

正题 题目链接:https://www.luogu.org/problemnew/show/P4130 题目大意 一个环形颜色珠子链&#xff0c;位置(注意不是上面的珠子)从最上顺时针下来位置依次标号 1 ∼ n 1\sim n 1∼n。 然后要求支持以下操作 R k : R\ k: R k:将所有珠子顺时针旋转 k k k个。 F : F: F:将所…

intel 从CPU上怎么看几代

比如现在的处理器&#xff0c;i系列&#xff0c;i3&#xff0c;i5&#xff0c;或i7&#xff0c;用i3举例&#xff0c;第一代是i3 1530&#xff0c;这里把1代省了&#xff0c;所以是i3 530。二代比如i3 2100&#xff0c;三代i3 3220&#xff0c;四代i3 4130&#xff0c;就是从i3…

图解LeetCode——114. 二叉树展开为链表

一、题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 二…

PDF怎么转换成WORD?分享这几个方法给大家!

PDF怎么转换成Word&#xff1f;在我们的工作过程中&#xff0c;经常会使用到PDF文件、Word文件等等。而在很多时候&#xff0c;需要根据工作需求&#xff0c;将各种文件进行格式转换&#xff0c;例如将PDF文件转换成Word格式&#xff0c;从而满足我们对文件进行编辑、更改等需求…