首页 > 其他分享 >2024/12/28课堂记录

2024/12/28课堂记录

时间:2024-12-28 21:53:07浏览次数:11  
标签:12 int sum 28 mid long 2024 ans using

目录

  1. 最大连续和
  2. 木材加工(月度开销)
  3. 跳石头
  4. 作业:修剪草坪

复习一下

这次只写了朴素的dp版,注意,不要用贪心,因为单调队列只能优化dp

很简单,注释都不用写了

#include<iostream>
using namespace std;
int a[200010],f[200010];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		int x;
		cin>>x;
		a[i]=a[i-1]+x;
	}
	//for(int i=1;i<=n;i++)cout<<a[i];
	int ans=-0x3f3f3f3f;
	for(int i=1;i<=n;i++)
	{
		f[i]=-0x3f3f3f3f;
		for(int j=i-1;j>=max(i-m,1);j--)f[i]=max(f[i],a[i]-a[j]);
		ans=max(ans,f[i]);
	}
	cout<<ans;
	return 0;
}

二分答案模版题
 #include<iostream>
using namespace std;
int a[100010];
int n,k,r=-1,l=1,ans=0;
bool half(int mid)
{
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		int x=a[i];
		while(x>=mid)
		{
			x-=mid;
			sum++;
		}
	}
	if(sum>=k)return 1;
	else return 0;
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)r=max(r,a[i]);
	while(l<=r)
	{
//		cout<<"hhh";
		int mid=(l+r)/2;
		if(half(mid)==1)l=mid+1,ans=mid;
		else r=mid-1;
	}
	cout<<ans;
	return 0;
}

与平常二分不同,跳石头在函数内部通过其他方式来检验合理性

具体的也写注释了
 #include<iostream>
using namespace std;
long long int l,n,m,ans=0;
long long int a[50010];
bool half(long long int mid)
{
	long long int sum=0,now=0;//sum:可以去掉的石头总个数,now:现在跳到第几块石头上(下标 
	for(long long int i=1;i<=n+1;i++)
	{
		if(a[i]-a[now]<mid)sum++;//现在站的石头与面前的石头(可能已经移掉几块了)的距离 比预计距离小 
		else now=i;//距离比预计距离大 
	}
	if(sum<=m)return 1;
	else return 0;
}
int main()
{
	cin>>l>>n>>m;
	for(long long int i=1;i<=n;i++)cin>>a[i];
	long long int r=l;l=0;
	a[n+1]=r;
	while(l<=r)
	{
		long long int mid=(l+r)/2;
		if(half(mid)==1)ans=mid,l=mid+1;
		else r=mid-1;
	}
	cout<<ans;
	return 0;
}

金句摘抄:任何甜味回味起来都是苦的,因为回味意味着甜味早已消失殆尽

 

标签:12,int,sum,28,mid,long,2024,ans,using
From: https://www.cnblogs.com/yongshao/p/18638013

相关文章

  • [20241227]字符串转换成列表问题.txt
    [20241227]字符串转换成列表问题.txt--//开发经常会写sql语句,经常会出现in('111122','1111113'..,'2222111')之类的情况,一般语句in里面内容经常变化,导致无法使--//用绑定变量。--//实际上以前例子,通过建立type,然后建立函数将拼接的字符串转换为数字或者字符串列表。--//前几天有......
  • 2024/12/17 【字符串】LeetCode 459.重复的子字符串 【❌】
    https://programmercarl.com/0459.%E9%87%8D%E5%A4%8D%E7%9A%84%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2.html#%E6%80%9D%E8%B7%AFhttps://leetcode.cn/problems/repeated-substring-pattern/子串结束位置大于中间位置的话,一定不能重复组成字符串。如果next[len-1]!=-1,则说......
  • 2024-2025-1 20241413 《计算机基础与程序设计》第十四周学习总结
    |班级链接|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||作业要求|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14|教材学习内容总结《c语言程序设计>第十三,十四章第13章:文件操作文件的概念:介绍文件的基本概念,包括文件的分类(文本文件和二进制文件)以及文......
  • 2024-12-28:求出出现两次数字的 XOR 值。用go语言,给定一个数组 nums,其中的数字出现的频
    2024-12-28:求出出现两次数字的XOR值。用go语言,给定一个数组nums,其中的数字出现的频率要么是一次,要么是两次。请找出所有出现两次的数字,并计算它们的按位XOR值。如果没有数字出现两次,则返回0。1<=nums.length<=50。1<=nums[i]<=50。nums中每个数字要么出现过一......
  • 【2024年终总结】从初入博客到出入博客
    2024年已经过去了,我自己其实回头看看有的时候挺感慨的,因为我做过的事情比较多,本身我做过央国企的员工(物流管理),后来跟随初创团队去外面打拼做互联网(程序员),又到后来回运营商(还是央国企)做方案(售前售后),再往后做到央企的销售管理(班子成员),始终没想到自己的路线有这么多变数,但是也正是因......
  • 学期(2024-2025-1) 学号(20241420) 《计算机基础与程序设计》第十四周学习总结
    学期(2024-2025-1)学号(20241420)《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第十四周作业)这个作业的目标<《C语......
  • PhpStorm 2024.3完整版的安装教程(附激活,常见问题处理)
    卸载老版本PhpStorm首先,如果小伙伴的电脑上有安装老版本的PhpStorm,需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即可):TIP:如果你之前使用过本站提供的 激活到2025年版本脚本,需要执行对应卸载脚本/适用2024版本/JetBrains2023最新全家桶/jetbra/scripts/unin......
  • 2024第一届Solar杯应急响应挑战赛WP
    对于一个只学了2个月的小白来说这种比赛难度还是太高了,还要沉淀一下QAQ内存取证-1题目描述题目文件:SERVER-2008-20241220-162057请找到rdp连接的跳板地址flag格式flag{1.1.1.1}先imageinfo然后netscanF:\CTF软件合集\Misc杂项\隐写工具\取证类\volatility\VolatilityWor......
  • 2024省选联测1
    2024省选联测1题目来源:2024省选联测1\(T1\)HZTG5808.interval\(40pts\)原题:QOJ1173.KnowledgeIs..考虑按照左端点升序排序后反悔贪心。分别维护已经匹配的区间对和未被匹配的区间,若当前区间\(a\)可以和前面剩余的未被匹配的区间匹配则直接匹配;否则尝试找到......
  • 2024-2025-1 20241407《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2024-2025-1计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第十四周作业这个作业的目标学习二进制文件和文本文件,文件的打开和关闭,顺序读写与随机读写,标准输入和输出及其重定向作业正文本博客教材学......