DP/單調隊列::poj3250 Bad Hair Day

Game Theory: 公平博弈 Notes: The following excerpt is from a book 《GAME THEORY》by Thomas && S.Ferguson and a paper by Ulyssess. 一. 公平聯合博弈 公平聯合博弈(Impartial combi 阅读详情
 

题目:

Some of Farmer John's N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows' heads.

Each cow i has a specified height hi (1 ≤ hi≤ 1,000,000,000) and is standing in a line of cows all facing east (to the right in our diagrams). Therefore, cowi can see the tops of the heads of cows in front of her (namely cows i+1, i+2, and so on), for as long as these cows are strictly shorter than cowi.

Let ci denote the number of cows whose hairstyle is visible from cowi; please compute the sum ofc1 through cN.

分析:用DP去做,r[i]表示从右数第一个比a[i]大的数的前一个数的位置,则当a[i]<a[r[i]+1]时有r[i]=r[r[i]+1]. 求出了数组r[i]之后累加即可。一开始我把遍历的顺序弄错了,为for i=1..N,结果“Time Limit Exceeded”因为这里的DP根本不起作用,还是重复计算了!改了之后就对了,代码如下(Memory: 876K,Time: 641MS)

#include <iostream>
using namespace std;
unsigned long a[80001];
unsigned long r[80001];
unsigned long sum=0;

int main()
{
	int N;
	cin>>N;
	for(int i=1;i<=N;i++){
		cin>>a[i];
		r[i]=i;
	}
	for(int i=N-1;i>=0;i--){
		while(r[i]<N && a[r[i]+1]<a[i]){
			r[i]=r[r[i]+1];
		}
		sum+=r[i]-i;
	}

	cout<<sum;

	return 0;
}


 本题最好的方法还是用单调队列,因为上面DP的实现效率不是很高,也不容易分析。单调队列的话,其实和在hist中找最大矩形的方法一样的。这里不在重复。

新版课件清华大学机器学习课件-011第十一讲 隐马尔科夫模型.pdf 新版课件清华大学机器学习课件-011第十一讲 隐马尔科夫模型 立即下载

相关推荐

科技中介服务机构如何提升服务的专业性与用户体验?.docx

科技中介服务机构如何提升服务的专业性与用户体验?

Pku-3250 Bad Hair Day

3250 - Bad Hair Day 时间限制: 2000MS 内存限制: 65536K 问题描述 Some of Farmer John's N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy h

kimixuchen的专栏 944

LLC谐振变换器开环+闭环软启动仿真设计(Simulink仿真实现)

内容概要:本文围绕LLC谐振变换器的开环与闭环软启动过程,基于Simulink平台开展系统性的仿真设计研究,重点涵盖变频控制策略、软开关技术实现、启动过程中的动态响应分析以及闭环系统的稳定性评估。文档不仅提供了LLC谐振变换器的完整仿真模型,还包括详细的计算书、设计报告和参考文献,内容延伸至全桥/半桥LLC、CLLC、PFC、DAB等多种典型电力电子拓扑结构,突出软启动阶段由开环到闭环的平滑切换控制机制,旨在帮助用户深入掌握谐振变换器的建模方法、控制逻辑设计与系统性能优化的关键技术。; 适合人群:具备电力电子技术与自动控制理论基础,从事开关电源、新能源变换系统、车载充电机、直流微网等相关领域的研究生、科研人员及电气工程类工程技术人员。; 使用场景及目标:① 深入理解LLC谐振变换器在软启动过程中实现零电压开通(ZVS)与零电流关断(ZCS)的软开关原理;② 掌握基于频率调制(PFM)的开环启动与闭环稳压控制的切换逻辑与实现方法;③ 学习利用Simulink搭建闭环控制系统模型,完成动态响应测试与控制参数整定;④ 为电力电子装置的工程开发、学术论文撰写、毕业课题研究或产品原型验证提供可复用的技术方案与仿真支持。; 阅读建议:建议结合所提供的仿真模型、设计文档与计算书同步学习,按照“建模—参数设计—开环仿真—闭环接入—动态调试”的流程逐步实践,重点关注控制器设计、反馈环路构建与系统稳定性的仿真验证,并可参照文中列出的其他拓扑案例拓展系统设计思路。

图算法

1. 图的基本概念 2. 图的存储结构 (1)邻接矩阵 一般来说,邻接矩阵所占空间与边数无关(不考虑压缩存储),适合于存储稠密图。为了反映一个图的全面信息,通常采用以下类型定义: #define MAXVEX 100 typedef char VertexType;

我以我心照人 1883

缺陷检测:使用PatchCore训练自己的数据集

必须包含有训练图片(无缺陷图片)、测试图片(缺陷图片)和ground_truth,并且ground_truth必须与对应图片的名称相同。同上一篇结果一样,我的输出为原始图片大小,但是不知道是不是因为图片不是正方形的,导致训练结果不好。编写一个脚本,重新规划数据集的路径规则,但是我稍微写复杂了一点,使用了类来操作。第二种(复杂):编写一个自己的Dataset,参考。第一种(简单):将数据集路径规则改成项目中。返回的必须是一个字典类型,可以阅读。本人此次使用的是第一种方法。运行时,参数部分直接输入。

xiaoxTai的博客 6481

Matlab2024a安装教程

点击【下一步】。8.选择解压后的【MATLAB R2024a(64bit)】文件夹中【Crack】文件夹下的【licese.lic】,点击【打开】。

qq_64359046的博客 4828

貪心::poj1328 radar installation && poj2109 Power of Cryptography && poj2586 Y2K Accounting Bug

貪心,就是步步為贏。 這是ACM知識表里基礎算法中的貪心部分,屬於水題範疇。 1. poj1328 radar installation 題目:照抄了。 Assume the coasting is an infinite straight line. Land is

我以我心照人 1356

推荐国内可使用的chatGPT的工具

是基于ChatGPT 3.5和ChatGPT 4开发的chatGPT应用程序版,这个应用可以直接使用而不需要魔法,如果我们有自己的APT KEY的话可以一直使用,但是如果没有的话,我们只能使用ChatGPT 3.5 版本的,次数也是有所限制,应该是20次每天,这也足够我们的使用了,响应的速度也是非常的快。

有你真好的博客 1万+

时间代价分析

(1)主方法,对于具有递归式的方程很有用,其原理是递归树的计算。但此方法不是万能的。比如递归式T(n)=5T(n/5)+n/lgn,就得老老实实地用递归树去计算了。  (2)待续

我以我心照人 1259

从零开始:用ADS 2023手把手教你设计2.4GHz Wi-Fi LNA(基于ATF-54143,附模型文件)

本文详细介绍了如何使用ADS 2023软件设计2.4GHz Wi-Fi频段的低噪声放大器(LNA),基于ATF-54143晶体管。内容涵盖模型导入、直流工作点确定、稳定性优化、噪声匹配等关键步骤,并提供可下载的模型文件包,帮助工程师快速掌握LNA设计技巧。

weixin_42531128的博客 321

银行监管报送系统介绍(十五):金融审计平台

金审平台主要包括基础、财务、结算、信贷和中间业务五大板块,主要服务于审计署对中国银行的各项审计任务,同时也可为行内审计、稽核检查、数据分析、总分行提供基础数据服务,为实现基础数据共享提供了有力的数据保障。2019年1月某全国性股份制商业银行收到审计署2019-23号文,文中指出为进一步提高审计数据质量,审计署审计组派员前往9家重点商业银行,就完善标准化数据的相关情况与各银行有关部门进行讨论协商。关于数据报送频率及报送内容:数据从2019年4月开始,按月报送,即于每月25日之前报送上月数据;

银行信息系统应用架构详解 2056

DFS.枚舉::poj1753 flip game && poj2965 the Pilots Brothers'refrigerator

枚舉,對於狀態或者搜索空間很少的情況可以用,是一種笨重的聰明方法!! 但有時候可以更深入地挖掘題目,得到更好的算法,例如poj2965 1.poj1753 flip game 題目:一个4*4的棋盤放滿棋子,每個棋子不是白色就是黑色。每次选择任意一个棋子翻轉变成相反的颜色

我以我心照人 1014

链路状态路由协议 OSPF (一)

本章将会学习链路状态路由协议OSPF,理解OSPF的基本概念,工作原理,掌握OSPF配置基本命令。本章重点,OSPF的基本概念,OSPF配置。

yj11290301的博客 3475

SCC

注:大部分参见百度百科。 在有向图G中,如果两个顶点vi,vj间有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,

我以我心照人 932

基于STM32、HAL库的IP5356M_DBZ_CA快充协议芯片简介及驱动程序设计

IP5356M_BATTERY_LEVEL_25 = 1, /* 电池电量25% */IP5356M_CHARGE_STATE_CHARGE_DONE = 4, /* 充电完成 */IP5356M_CHARGE_STATE_FAST = 2, /* 快速充电 */IP5356M_CHARGE_STATE_NONE = 0, /* 无充电 */IP5356M_CHARGE_STATE_PRE = 1, /* 预充电 *//* 延时1秒 */

corlin6688的博客 1419

fanuc机器人KAREL中 函数的应用

本次课程讲解编程的思路。很多的同学都玩过积木,一个一个的模块逐渐累积起来,通过彼此之间的相互联系,最终形成一个完整的整体。其实编程也是这样。 将一个对象根据其特点进行模块化拆分,尤其是一些特点非常相似的内容,将其变成一个模块。然后通过传递参数,实现不同的功能,这就是模块化编程。

haier123888的博客 2744

SCC::poj2186 Popupar Cows && poj2553 The Bottom of A Graph

关于SCC的知识与算法,参见《SCC》一文。这两道题本质是一样的,细微的区别只在于输出而已。夜鱼只给我做前一道题,大概是看到我做的《图算法》的小结里面没有SCC的地位,想给我提个醒。后来我在那篇小结里面补上了SCC,顺便也对SCC的知识梳理了一遍,觉得手痒,网上查了一下还有poj

我以我心照人 909

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

單調隊列::poj2823 Sliding Window

题目: 一个长度为 N 的数组,一个长为 K 的滑动窗体从最左移至最右端, 你只能见到窗口的K个数,每次窗体向右移动一位,如下表: 要找出窗口在各位置时的 max value,min value Window position Min va

我以我心照人 738

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OS學習小結

《現代操作系統1~6》總結 Lyle 2011-8-25 一.       操作系統概論         一般計算機系統包含硬件、系統程序和應用程序三個部分。粗略地講,系統程序中最重要的操作系統,它夾在硬件和應用程序之間,其任務就是有效地管理計算機各種資源,使得使用計算機

我以我心照人 607

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

DP::poj1159 Palindrome

被1112卡了一个多星期,虽然思路很清晰了,各部分的独立跟踪测试也没什么问题,但,就是AC不了!无奈,只好先放着。     今天下午夜鱼又给我布置了一道题目,回文字符,挺有意思的,看完题目我就接着看村上的《当我跑步时 我谈些什么》,还美美地睡了半个小时。这些天实在缺午觉啊!醒来

我以我心照人 580

DP::Poj1050 To the max

题目:给定一个N*N方阵,元素为整数,求连续子阵全部元素和的最大值。   一开始我想直接在二维上解决问题,在构造递归方程的时候令max[k](k=i+j)为大小i*j的子阵的子阵和的最大值,然而下面的例子说明了没有最优子结构 0 -2 -7 0 9 2 -6 2 -4

我以我心照人 548

DP::Poj1015 July Compromise

初学DP,夜鱼就给我找了这么条难缠的“大鱼”,有点打击到我~~~~  问题:n個候選人,要挑m個組成陪審團。選人方法:控方和辯方根據喜歡程度為每個候選人打分(0~20),選出的這m個人,必須滿足辯方總分和控方總分的差的絕對值最小。如有多種方案,則選辯控雙方總分之和最大的方案即可

我以我心照人 454

DP::Poj1088 滑雪

这题不难,状态转移方程很快就写出来 m[i, j]=max{m[i-1, j](下)+1,m[i, j-1](左)+1,m[i+1, j](上)+1,m[i, j+1](右)+1}(若下左上右对应元素比s[i, j]小,则对应的m[ ]就可以出现在方程中) 具体实现的话也很简单

我以我心照人 432

DP.單調隊列::poj1631 Bridging signals

题目大意:两岸的同等数目的信号灯一一对应,连线,从中找出最多的线出来,它们之间互不交叉。只要求输出最大的线条数。   本题不需要画图了,因为画了图会尝试用二维的DP去做,吃力不讨好,既然输入是一维的一个串,而且该串简洁地包含了全部的信息,那么直接DP何乐而不为呢? 通过对例

我以我心照人 408
上一篇: DP::poj1159 Palindrome
下一篇: 單調隊列::poj2823 Sliding Window
初四
博客等级 码龄15年 3粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值