Jzoj5408 Dark

ui(new Ui::MainWindow)的解析 Ui命名空间的变量名,和默认空间的变量名虽然一样,但实际是两个不同的东西。所以构造函数中调用MainWindow是没问题的,因为它不是在调用自身,而是在调用其他命名空间下的另一个同名的MainWindow类。这里使用C++的成员初始化列表语法,初始化成员变量指针ui,可这里有个问题,在MainWindow的构造函数中new 一个MainWindow,这又调用一下MainWindow的构造函数,这岂不是会死循环?ui_mainwindow.h文件。mainwindow.h文件. 阅读详情
LichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。
世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。

然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。

这个题目存在线性的dp,这里先说一种ΣAi的方法

我们设f[i][j][0/1]表示现在正在做第i位,这一位为j,前一位是否为0的最优解

显然我们不能在状态中保留连续的两个非零数

发现可以如下转移

f[i][j][0]=min({f[i-1][a[i]-j-k][1]+a[i]-j},f[i-1][a[i]-j][0]+a[i]-j)

f[i][j][1]=f[a[i]-j][0]+a[i]-j

这样在加上滚动数组即可

关于线性方法,我们设f[i]表示处理道第i位,且必须将第i位清零的答案

那么显然,不管第i位前后是否为0,我们都可以花Ai的代价将其清除(因为这样显然不是最优情况)

那么我们考虑可以从f[i-2]中转移过来,代价是ai

因为我们显然可以只讲ai清空而不管ai-1(从f[i-2]转移),也可以考虑清空ai和ai-1(从f[i-1])

我们还可以考虑从f[i-3]转移过来

这样必须清空a[i]和a[i-1]而不管a[i-2]

这样,最后的答案就是f[n+1]

方法1:code

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 5000010
using namespace std;
int f[N][2],g[N][2],s[N],a[N],n,A=1<<30;
inline void gmin(int& x,int y){ x>y?x=y:0; }
int main(){
	freopen("dark.in","r",stdin);
	freopen("dark.out","w",stdout);
	scanf("%d",&n); 
	for(int i=1;i<=n;++i) scanf("%d",a+i);
	memset(f,0x3f,sizeof f); 
	memset(g,0x3f,sizeof f); 
	f[0][0]=s[0]=0;
	for(int i=1;i<=n;++i){
		for(int j=a[i-1]+1;j<=a[i];++j)
			f[j][0]=f[j][1]=s[j]=0x3f3f3f3f;
		for(int j=a[i];~j;--j) g[j][0]=g[j][1]=0x3f3f3f3f;
		for(int j=a[i];~j;--j){
			gmin(g[j][0],s[a[i]-j]+a[i]-j);
			gmin(g[j][0],f[a[i]-j][0]+a[i]-j);
			gmin(g[j][1],f[a[i]-j][0]+a[i]-j);
		}
		s[a[i]+1]=0x3f3f3f3f;
		for(int j=a[i];~j;--j){
			f[j][0]=g[j][0];
			f[j][1]=g[j][1];
			s[j]=min(s[j+1],f[j][1]);
		}
	}
	A=f[0][0];
	for(int i=0;i<=a[n];++i) gmin(A,f[i][1]);
	printf("%d\n",A);
}

线性dp代码:

#include<bits/stdc++.h>
using namespace std;
#define N 100010
int n,a[N],f[N];
int input() {
	int f=1,g=0; char c=getchar();
	while(c<'0'||c>'9') {if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9') {g=(g<<3)+(g<<1)+c-'0';c=getchar();}
	return f*g;
}
int main() {
	freopen("dark.in","r",stdin);
	freopen("dark.out","w",stdout);
	n=input()+3;
	for(int i=3;i<n;i++) a[i]=input();
	for(int i=3;i<=n;i++)
		f[i]=min(f[i-2]+a[i],f[i-3]+max(a[i-1],a[i]));
	printf("%d\n",f[n]);
	return 0;
}

QML教程04 - Image:搞定界面上的所有图片 本文是QML教程系列的第四篇,重点讲解Image控件的实战用法。文章从图片显示常见的变形、卡顿等问题入手,详细介绍了Image的核心属性和使用技巧。主要内容包括:图片路径的三种写法(相对路径、qrc资源、网络URL)、最重要的fillMode属性解析(PreserveAspectFit、PreserveAspectCrop、Stretch的适用场景)、性能优化方法(sourceSize设置)、异步加载(asynchronous)以及圆形头像的实现方案。 阅读详情

相关推荐

5分钟搞定mmdetection3d多模态推理可视化:从KITTI数据集到3D检测结果展示

本文提供了一份快速上手MMDetection3D进行多模态推理可视化的实战指南。文章详细介绍了从环境搭建、KITTI数据集准备,到模型选择、配置解析,再到执行多模态推理并生成3D检测结果可视化的完整流程,旨在帮助开发者在30分钟内快速验证模型并直观展示检测效果。

weixin_29051149的博客 248

【NOIP2017提高A组集训10.21】Dark

Description:LichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。 1<=n<=1e5,1<=∑ni=1ai\sum_{i=1}^n a_i<=5e6

Cold_Chair的博客 433

x265探索与研究(四):如何编码视频?

如何编码视频?           本文介绍x265中的两种编码视频方法,一是采用命令行的方法;二是GUI的方式。   1、命令行的方法   (1)、第一种方式生成*.265格式的视频文件           第一种方式可以生成*.265格式的视频文件,对应的命令为: x265 --input-res 352x288 --fps 30 hall_cif_352x288_300.y

成长Bar的博客专栏 3934

【JZOJ5040】【NOI2017模拟4.2】押韵

Description小A非常喜欢所有押韵的东西,他认为两个单词押韵当且仅当他们的公共后缀的长度和两个单词中最长的单词的长度相等,或者是最长的单词的长度减一。也就是说LCS(A,B)>=max(|A|,|B|)-1。 有一天,小A读了一个有N个单词的小故事,他想知道,如果挑选一些故事里出现的单词组成一个新的单词序列,能组成的最长的满足以下条件的单词序列的长度是多少:单词序列中任意相邻的两个单词都押

dance in th dark的博客 1218

开源 AHB不对称半桥反激电路设计(六)死区时间,谐振腔电流,谐振电感函数表达式

电流跌落可以使副边电流峰值和有效值降低,减小损耗,但如果开关管 S2 导通期间,谐振电流谐等于励磁电流,即副边电流A 点降至 0,会在原边变压器内形成环流,产生损耗,同时也不利于副边同步整流管驱动的正常工作,为了保证开关管 S2 导通期。在开关管 S1 和开关管 S2 均关断的死区时间内,谐振电流给原边开关管结电容和副边整流管结电容充放电,因此会引起开关 S1 关断瞬间电流跌落与开关 S2 关断瞬间电流震荡现象,受寄生参数影响原边谐振电流波形和副边电流波形如图。降到最低,变压器以最高效率向副边传递能量。

【Simon】的博客 1227

STM32G4实战:用CubeMX+Keil五分钟搞定FreeRTOS多任务LED控制(避坑指南)

本文详细介绍了如何在STM32G4系列芯片上使用CubeMX和Keil快速配置FreeRTOS实现多任务LED控制,包括环境准备、时钟配置、任务创建及常见问题解决方案。重点解决了时钟源冲突等高频问题,并提供了优化建议和进阶应用示例,帮助开发者高效完成嵌入式开发任务。

joy55的博客 222

jzoj5408 【NOIP2017提高A组集训10.21】Dark (巧设状态的DP)

题面 LichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。 分析 发现当前状态可以划分为f[i][j][0/1]表示当前剩余j个,上个是否用完,这

一位蒟蒻的小博客 473

DAVIS前言:事件相机资料调研

Event-Camera 资料集锦 1. 官网资料 假设了你买了事件相机,就可以在以下几个链接了解相关的参数和gui界面安装,如果不喜欢gui界面安装,可以第2节,安装相关的源码驱动。 DVS/DAVIS产品说明 等相关产品的软硬件介绍。 iniVation DV教程文档 给出在不同平台下的dvs-gui界面,可按照其说明进行相应的操作。 另外,Neuromorphic vision com...

Ian的博客 4507

【JZOJ5408】【NOIP2017提高A组集训10.21】Dark

DescriptionLichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。Data ConstraintSolution我们设f[i][j][0.1]表示在第i个

dance in th dark的博客 461

机器人学(三):手眼标定

主要讲了eye-to-hand的手眼标定求解算法,包括AX=XB和AX=YB两种情况,包含SVD法、Tsai-Lenz法、最小二乘法等,从原理到解法再到算法代码实现,包括matlab代码、C++代码、库的使用等,简单明了,容易在实际项目中进行应用

行者无疆的博客 2554

Sigrity Power Tree如何进行直流压降仿真分析操作指导

Sigrity Power Tree模式可以用于前仿真,在没有layout文件的情况下对电源进行直流压降仿真分析,用于评估原理图设计以及器件选型是否合理。Model:设置为Equal Current,设置为等电源模型,意思该负载每个电源pin都是等电流的。Current:设置每个负载的电流,U30为3A,U3-U6各为1A。Nominal Current:设置能够承载的最大电流,设置为10A。Upper/ Lower Tol:设置为压降范围为5%Output Current:设置输出电流为10A。

weixin_54787054的博客 730

JZOJ 5408 【NOIP2017提高A组集训10.21】Dark

DarkDescription一个长度为nn的非负整数序列AA,每次可以选择这个序列中的两个相邻的正整数,让他们的值同时减1,不停操作直到不存在满足条件的数。 问最少的操作次数。Data ConstraintSolution我们记状态ff[ii][jj][00/11]表示第ii个数的当前值为jj,它的上一个值是否为00的最少操作次数。 发现这样子转移到的状态只与当前状态有关,再维护一个后缀最值转

XianHaoMing的博客 417

在 SAP 里,想让“同一笔业务”在多个账套(平行分类账)中生成不同编号的会计凭证,标准做法就是

摘要:SAP系统中实现同一业务在不同分类账生成独立凭证号的方法是为每个分类账配置独立的凭证类型-编号范围映射。通过FBN1/OBA7等事务码为各分类账分配专属编号段,系统过账时会按分类账自动取号,确保凭证号互不冲突。该方案适用于S/4HANA和ECC系统,支持标准过账(F-02)或分类账专属过账(FB01L)两种模式,最终实现"一业务多账套,各自独立编号"的目标。

金牌架构师 549

JZOJ5408. 【NOIP2017提高A组集训10.21】Dark DP

DescriptionLichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。题意很明显了。 一个不难的dp,然后我自己滚动了一波把自己滚死了。。直接清空又会T。。

老臣 481

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JZOJ 5408. 【NOIP2017提高A组集训10.21】Dark

DP

Luckfort 300

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

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

[2017纪中10-21]Dark DP

题目链接:https://jzoj.net/senior/#main/show/5408 发现sigma(Ai)很小,于是想到一个复杂度为O(sigma(Ai))。 f[i][j][0/1]表示填了前i个数,第i个数为j,前一个数是0/不是0的最小操作数,(第i个数可以不满足条件,因为之后的数还可以消它)。 于是转移:f[i][j][0]=min{f[i-1][Ai-j][0/1]}+a[i]

DOFYPXY的博客 298

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

See see

IMhttp://www.donews.net/changzheng/archive/2005/05/11/375457.aspxbuffalo xml通讯协议http://www.amowa.net/buffalo/download.html曼波Mambohttp://www.mambochina.net/SwingWeb开源..........强..

红流 940

see

<br /> <br />过来seesee。。。

L_yuan的专栏 280

禅悟

一、一个广为流传的故事 某人在屋檐下躲雨,看见观音正撑伞走过。 人说:观音菩萨,普度一下众生吧,带我一段如何? 观音说:我在雨里,你在檐下,而檐下无雨,你不需要我度。 这人立刻跳出檐下,站在雨中:现在我也在雨中了,该度我了吧? 观音说:你在雨中,我也在雨中,我不被淋,因为有伞 你被雨淋,因为无伞,所以不是我度自己,而是伞在度我。你要想度,不必找我,请自己找伞去!说完便去了。...

weixin_33759269的博客 234

集训Day7 T2 Dark

DescriptionLichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。InputN A1 A2 … ANOutput输出一行一个整数,表示答案。Sam

forget_yu的博客 294

【JZOJ5043】【NOI2017模拟4.4】保持平衡

Description博爱路上种起了一棵棵的大树,但是有一些地方的树超过了负荷,有一些地方的树的数量又不够。 我们不妨把博爱路看做一条数轴,数轴有n个点,从1到n编号,第i个位置原来现在有ai棵树,这个位置的需求是bi棵树。ai,bi都是0到10的整数。由于你需要是这个位置的树的数量保持平衡,所以你需要移除或者搬一些树过来。 我们怎么使树的数量平衡呢? 首先,你可以从某个位置i移动一棵树到位置

dance in th dark的博客 615
上一篇: Jzoj5407 Deep
下一篇: Jzoj5409 Fantasy
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值