poj 3667

SRS流媒体服务器在Windows下的安装 在之前的流媒体开发中(视频会议),我基本上使用nginx加模块的方式进行学习、测试,正式开发的时候改为服务器端用EasyDarwin,客户端用rtsp-simple-server(这些流媒体服务器的用法见我以前的博文),这样可以充分利用客户端的资源,降低服务器端的压力。在流媒体协议方案,我选择相对较快的rtsp。这个协议优点是支持UDP协议,优化好的环境下可以实现3秒以下的延迟,基本满足甲方要求,缺点就是不支持网页播放。 阅读详情

写了4个小时,人都给我弄傻了,很有参考意义的一道题

#include <cstdio>
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define IMAX 2147483646
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace std;

struct T {
	int l, r;
	ll add, dat,ls, rs;
#define add(p) (t[p].add)
#define sum(p) (t[p].r - t[p].l + 1)
#define dat(p) (t[p].dat)
#define ls(p) (t[p].ls)
#define rs(p) (t[p].rs)
#define l(p) (t[p].l)
#define r(p) (t[p].r)
}t[51111 * 4];

//void spread(int p) {
//  add(p * 2) = add(p * 2 + 1) = add(p);
//	if (add(p) != -1) {
//		dat(p * 2) = ls(p * 2) = rs(p * 2) = add(p)*sum(p * 2);
//		dat(p * 2 + 1) = ls(p * 2 + 1) = rs(p * 2 + 1) = add(p)*sum(p * 2 + 1);
//	}
//	add(p) = -1;
//}

void spread(int p) {
	if (add(p) == -1) return;
	add(p * 2) = add(p * 2 + 1) = add(p);
	dat(p * 2) = ls(p * 2) = rs(p * 2) = add(p)*sum(p * 2);
	dat(p * 2 + 1) = ls(p * 2 + 1) = rs(p * 2 + 1) = add(p)*sum(p * 2 + 1);
	add(p) = -1;
}

void change(int p) {
	if (sum(p * 2) == dat(p * 2))ls(p) = sum(p * 2) + ls(p * 2 + 1);
	else ls(p) = ls(p * 2);
	if (sum(p * 2 + 1) == dat(p * 2 + 1))rs(p) = sum(p * 2 + 1) + rs(p * 2);
	else rs(p) = rs(p * 2 + 1);
	dat(p) = max(max(dat(p * 2), dat(p * 2 + 1)), rs(p * 2) + ls(p * 2 + 1));
}

void build(int p,int l,int r) {
	r(p) = r, l(p) = l;
	add(p) = -1;
	if (l == r) {
		dat(p) = ls(p) = rs(p) = 1;
		return;
	}
	int mid = (l + r) / 2;
	build(p * 2, l, mid);
	build(p * 2 + 1, mid + 1, r);
	change(p);
}

void change(int p, int l, int r, int d) {
	if (l(p) >= l && r(p) <= r) {
		dat(p) = ls(p) = rs(p) = d * (r(p) - l(p) + 1);
		add(p) = d;
		return;
	}
	spread(p);
	//int mid = (l + r) / 2;
	/*if (mid >= l) change(p * 2, l, mid, d);
	if (mid + 1 <= r)change(p * 2 + 1, mid + 1, r, d);*/
	int mid = (l(p) + r(p)) / 2;
	if (mid >= l) change(p * 2, l, r, d);
	if (mid + 1 <= r)change(p * 2 + 1, l, r, d);
	change(p);
}

int ask(int p, int x) {
	if (l(p) == r(p))return l(p);
	spread(p);
	if (dat(p * 2) >= x)return ask(p * 2, x);
	if (rs(p * 2) + ls(p * 2 + 1) >= x)
		return (l(p) + r(p)) / 2 - rs(p * 2) + 1;
	if (dat(p * 2 + 1) >= x)return ask(p * 2 + 1, x);
	return 0;
}

int n, m, op, x, d, ans;

int main() {
	scanf("%d%d", &n, &m); build(1, 1, n);
	while (m--) {
		scanf("%d", &op);
		if (op == 1) {
			scanf("%d", &d);
			if (t[1].dat < d)printf("0\n");
			else {
				ans = ask(1, d);
				printf("%d\n", ans);
				change(1, ans, ans + d - 1, 0);
			}
		}
		else {
			scanf("%d%d", &x, &d);
			change(1, x, x + d - 1, 1);
		}
	}

	return 0;
}

【教程4>第5章>第28节】基于帧同步+相位同步+位同步的QPSK调制解调通信系统整体性能分析 综上所述:1.SNR<10db时,整体性能下降,当SNR=0db时,系统无法正常工作。2.gardner环性能达到2.5e-5时偏可以正常工作,增加之后无法正常工作。3.当相位偏差大于pi/4的时候,对最后的性能会有一定影响。 阅读详情

相关推荐

Mplus实战:三变量随机截距交叉滞后模型(RI-CLPM)语法详解与扩展

本文详细解析了Mplus中三变量随机截距交叉滞后模型(RI-CLPM)的构建原理与语法实现。通过将变量分解为稳定的个体间差异与动态的个体内波动,模型能更纯净地揭示多变量间的纵向交互影响。文章以工作压力、睡眠质量与工作满意度为例,提供了完整的语法模板、关键参数设置(如NOCOV命令、残差相关)及结果解读指南,帮助研究者避开常见误区,稳健分析复杂动态关系。

wdx0123456的博客 926

Poj--3667(线段树,经典各种操作)

2014-10-0123:19:30 思路:这题可以说是线段树各种操作的集大成者,包含区间更新,区间最值,lazy思想等。和poj1823是姐妹篇。   这题的几个点: (1)每个节点维护一个cover值,-1表示全空,1表示全满,0表示一部分空(建树时预设全空:-1)   每个节点维护三个长度值:llen表示从头开始连续空的长度,rlen表示从尾开始连续空的长度,tmax表示...

dingdi3021的博客 187

舵机PWM信号转互斥继电器开关信号

-----------------本文由“麦粒电子”撰写,并提供相应产品服务。---------------- 叙述 上次的PWM转继电器开关方案得到大家的不少好评(博客链接),但是发现有些玩家需要一路PWM同时去控制两路继电器开关通断,并且两者是互斥的,好去控制两种不同的负载。所以就继续升级了如下的模块。 正常的控制部件顺序这样:遥控器按钮拨动,遥控器接收机相应通道PWM值变化,PWM转开关模块检测PWM值发生变化从而驱动相应机械继电器触点吸合释放。本模块的两个继电器动作是互斥的,也就是不会同时吸合。

Mai_LiElectronic的博客 1627

poj 3667 (线段树区间合并)

题意:n个连续的房间m个操作。操作分两种,第一种以1 x形式给出,找到最左的能连续容下x个人的连续房间,并居住,并输出左端点的编号,如果找不到就输出0.第二种以2 l x的形式给出,表示以l为起点的x个房间都清空。 思路: 最长连续区间,考虑线段树维护,sum,lsum,rsum,分别表示当前最长,前缀后缀最长,标记0,1,-1分别表示全空,全有,未初始化,然后维护一下就好了,注意一点,由于要靠左,所以query的时候要先看左节点,然后再到中间跨越的连续的,再到右边的节点 #include<iostr

weixin_45539557的博客 471

同济土木非0基础三个月跨考复旦计算机攻略

跨考cs攻略前言我cs专业课如何复习How to start from zero简历其他复试 前言 建议多去工地/化工厂涡轮增压一下 我 同济土木gpa 3.2/5 挂科 * n 辣鸡项目 * n (padding 简历) 21考复旦计算机专硕 10月-12月 学习+复习 总分392 政治 68;背肖4即可 英语二 78 裸考,(高考英语140+);做点真题,建议据自己情况准备 数学二 142 ;(高考数学接近满分);做真题+模拟题,每天写一张试卷 专业课 104 ,考试生病了,下文展开。 cs专业课

piglake的博客 7236

手把手教你用UC3842搭建12V/5A反激电源(附PSIM仿真文件)

本文详细介绍了基于UC3842的12V/5A反激电源设计与PSIM仿真实践。从UC3842芯片选型、高频变压器计算到PSIM仿真模型搭建,提供完整的开关电源设计流程。特别包含PCB布局要点和实测优化建议,帮助工程师快速掌握反激电源开发技巧。

u6v7w8x的博客 1201

POJ 3667(线段树找连续m个点区间的最左端)

题目链接:http://poj.org/problem?id=3667   题目大意:两个操作,1 x表示找出最左连着的x个空位置,并占满,输出最左端,2 x y表示清空x到y位置   题目思路:逆向思维,空位置用1,占了的位置用0。然后就是基础的线段树区间合并,跟炸地道那题的x所在1长度方法是一样的。维护最左连续1,最右连续1和最长连续1。维护方法跟那题一样,可以看之前的博客。然后这题的...

smilestruggler_Fly To Higher 350

YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

一、本文介绍 本文记录的是基于MobileNet V4的YOLOv11目标检测轻量化改进方法研究。MobileNet V4通过整合UIB、Mobile MQA以及优化的NAS策略,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中MNv4-Conv-S、MNv4-Conv-M、MNv4-Conv-L、MNv4-Hybrid-M和MNv4-Hybrid-L五种模型,以满足不同的需求。 模型 参数量 计算量 推理速度 YOLOv11m 20.0M 67.6GFLOPs 3.5ms

Limiiiing的博客 4456

poj 3667 (线段树区间合并)

区间合并建线段树用结构体方便,build时不需要pushup(小特点~),而且结构体内置函数省下好多代码量,(据说是某巨佬HH的风格)。最重要的一点,pushup时当左/右子节点全部长度可用时(说明和另一方相连了),需要更新父节点的llen和rrlen。 #include<cstdio> #include<iostream> #include<algorithm...

crystal 298

【人工智能】在 cc-switch 中配置 AnyRouter 接入 Claude Code 完整指南

本文介绍了在cc-switch工具中配置AnyRouter中转服务以接入Claude Code的详细步骤。主要内容包括:1) 准备API令牌和端点地址;2) 填写基础信息和模型参数;3) 保存配置并重启终端生效;4) 常见问题排查方法。重点强调了API地址格式、模型ID准确性以及配置写入的必要性,帮助用户顺利完成中转服务配置,实现Claude 4.5版本的正常使用。

奶爸的编程之路,也就一周冷个三天 3102

YOLOv11改进 | Conv篇 | 图像去雾卷积DEConv助力yolov11有效涨点(部署零额外开销)

本文介绍了一种最新改进机制用于低层视觉任务的细节增强卷积(DEConv)机制。DEConv在训练阶段采用"普通卷积+差分卷积"的多分支并联结构,增强网络对边缘、纹理等细节特征的学习能力;在推理阶段可折叠为标准3×3卷积,保持与普通卷积相同的计算效率。文中详细阐述了DEConv的工作原理、实现方法以及在YOLOv11中的应用步骤,包括核心代码解析、模型修改方法和训练配置。实验表明,该机制在去雾、去噪、超分等强调细节重建的任务中具有显著优势。文章还提供了完整的代码实现和训练指导.

Snu77的博客 2432

POJ 3667(线段树+lazy思想)

题目链接:http://poj.org/problem?id=3667 题目的意思很简单,给定你一个数字N,表示有N个房间(编号为1到N),然后有M个询问操作: 1. 1 x:查询操作,如果N个房间中,存在有x个连续的房间,那么,输出满足条件的最小房间起始标号,并分配这x个房间,如果不存在,则输出0. 2. 2 x y:将[x,y]这段区间的房间置为空. 这是典型的一道线段树的区间

Keep Moving的专栏 933

线结构光相机原理详解以及精度控制总结

摘要:线阵结构光相机是工业三维检测的核心设备,结合线阵相机的高分辨率与结构光的主动三维成像能力。其工作原理基于线激光投射、逐线扫描、亚像素级条纹提取及三角测量法实现三维重建。精度受硬件、校准、环境和算法四因素影响,需通过优化硬件选型(如小像元相机、窄线宽激光)、精准校准(相机内参、激光平面)、环境控制(遮光、隔振、恒温)及算法优化(Steger算法、点云后处理)来提升。典型应用(卷材、轨道检测)中深度精度可达5-20μm,需根据场景需求平衡参数配置。

start_up_go的博客 938

POJ 3667 Hotel题解

【题目大意】:    某酒店有N(1≤N≤50000)间客房,并且所有的客房都是连续排列在同一边。有两种行为操作:需要check in,要求房间的编号为连续的r..r+Di-1并且r是最小的;需要check out,并且他们每次check out都是编号为Xi ..Xi+Di-1 (1 ≤Xi≤N-Di+1)的房间。题目的输入如下:    1: a :check in a间

初学者 659

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

POJ 3667 线段树

传送门: poj 3667题解: 优先左边, 区间合并 /* adrui's submission Language : C++ Result : Accepted Favorite : Dragon Balls Love : yy Motto : Choose & Quit Standing in the Hall of Fame */#include<iostr

退役ACMer 437

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

POJ 3667 Hotel

POJ 3667 Hotel线段树题意设计数据结构,维护一段序列,初始全1,支持2种操作: 将一段区间置1 从头查找第一段长度不小于k的序列,并将这k个位置置0 思路线段树维护序列。维护前缀1(pre),后缀1(suf),区间最大连续1(sum)。更新时取左右中长度大的更新。 找不小于k时有坑,必须按照下面步骤一步步来: 如果跟节点的区间最大连续1小于k,那么无解 如果左子区间sum大于等于k,递

P.H.S 227

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

poj 3667 Hotel 经典线段树区间合并

传送门:poj 3667 Hotel题目大意题意: 1 a:询问是不是有连续长度为 a 的空房间,有的话住进最左边 2 a b:将[a,a+b-1]的房间清空解题思路当我们读懂这个题目的时候,我们一般会考虑下面几个问题 1. 怎么解决空房间不连续的问题 2. 怎么快速找到查询时候的下标 3. 父节点保存的什么,也就是pushUp应该怎么写? 下面我们来一步步的解决上面的疑问? 第三个

woshinannan的专栏 359

poj 3667 Hotel

http://poj.org/problem?id=3667   又是一道线段树的题,这次的操作是【区间更新,查询最大连续区间】。这题是之前一题"内存管理"的模拟题的简化版,在插入区间前先查找满足要求的位置,然后就直接整段覆盖,删除也就是简单的删除区间。注意细节就好了!   刚开始的时候打算查找和覆盖打在一起,后来发现这样的操作十分困难,所以还是将查找和覆盖分离了。所以插入区间和删除区间也变成...

weixin_33785972的博客 98

【POJ 3667】Hotel

POJ 3667题意有n个房间和k个操作,最开始全部为空。操作1:输入一个数d,找出连续d个空房间,输出起点房间编号。若有多个输出最小的,如果不存在输出0。操作2:输入两个数x和d,清空从x开始的d个房间。样例输入10 6 1 3 1 3 1 3 1 3 2 5 5 1 6样例输出1 4 7 0 5sol用线段树维护,每个节点存储三个值msum,lsum,rsum。msum表示当

Ripped的博客 407

POJ 3667 Hotel(区间合并)

题目地址:http://poj.org/problem?id=3667 题意:1 a:询问是不是有连续长度为a的空房间,有的话住进最左边 2 a b:将[a,a+b-1]的房间清空 思路:记录区间中最长的空房间 思路:update区间替换,query求满足条件的最左边的一个房间 AC代码: #include #include #include #include #include

Java识堂,一个有干货的微信公众号 361

Poj 3667 线段树区间合并 (模板)

题目链接:http://poj.org/problem?id=3667 别人的分析:http://www.cnblogs.com/scau20110726/archive/2013/05/07/3065418.html #include #include #include #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 using nam

Alberttttt的博客 318

POJ 3667 Hotel 模拟+暴力

/** POJ 3667 Hotel 模拟+暴力 链接:http://poj.org/problem?id=3667 题意:给定长度为n初始化值为0的数组a,每次询问存在两个操作; 1 x : 新添进来值为1,大小长度为x的数组b.每次新添进去的位置为:最左边,且能全部一次性放下的地点 也就是最左边连续0的个数的长度得大于等于x,输出当前赋值的起始点; 2 x d: 以x为起点长度为d的后面位置...

布呗之路 272

POJ 3667 Hotel(线段树)

POJ 3667 Hotel 题目链接 题意:有n个房间,现在有两个操作 1、找到连续长度a的空房间,入住,要尽量靠左边,如果有输出最左边的房间标号,如果没有输出0 2、清空[a, a + b - 1]的房间 思路:线段树的区间合并,记录下左边连续最长和右边连续最长空房间,和每一段的最大值,这样pushup的时候就是进行区间合并,注意查询的时候由于是要尽量左,所以先查左孩子,

Remilia's 1152

POJ 3667 Hotel【经典的线段树】

POJ 3667 Hotel http://poj.org/problem?id=3667题目大意: 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层楼中顺次一字排开,在任何一个房间里,只需要拉开...

a48634331的博客 198

POJ 3667 Hotel 【 set 】水法。(C++)

题目:                                                          POJ 3667 Hotel 给个链接,自己去看。 链接 大意也懒得说。 分析思路: 用 pair 加 set 。pair 装空房首位置数量。set排序加搜索位置。 pair.first 代表位置,pair.second 代表数量。 考虑到可能会出现一样的空位(其...

opooopooo的博客 234

POJ.3667 Hotel ( 线段树 )

POJ.3667 Hotel ( 线段树 )题意分析还需要好好理解一下代码总览#include <cstdio> #include <cstring> #include <algorithm> #define nmax 200010 using namespace std; struct Tree{ int l,r; int lenmax; int llen,rlen;

Pengwill's Blog 241
上一篇: poj 2828
下一篇: poj 1177
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值