codeforces 1110 D JongMa 思维dp

OpenWrt 23.05 U盘启动盘制作:3款写盘工具对比与1个关键避坑点 本文详细介绍了OpenWrt 23.05 U盘启动盘的制作方法,对比了balenaEtcher、Rufus和Ventoy三款主流写盘工具的性能与适用场景,并提供了关键避坑指南。通过U盘启动OpenWrt,用户可以零成本体验软路由功能,快速回滚系统,实现便携迁移。文章还包含实战操作步骤、常见问题解决方案及性能优化技巧,帮助用户轻松打造高性能软路由。 阅读详情

题目链接:https://codeforces.com/contest/1110/problem/D

题意

给出n个不超过m的序列,三个相同的数或者三个连续的数可以构成一个三元组,问这个序列最多可以构造出多少个三元组。

题解

对于一个数字i,[i,i+1,i+2]这样连续的序列最多不超过2个,因为一旦有3个,那就和[i,i,i],[i+1,i+1,i+1],[i+2,i+2,i+2] 这样没有差别了。
设dp[i][j][k]:表示前i位里面有j个[i-1,i,i+1],k个[i,i+1,i+2]时三元组有多少个。
转移:
dp[i][j][k] = max{dp[i-1][t][j]+t+(C[i]-j-k-t)/3}
C[i]: 值为i的数有多少个。

代码

//https://codeforces.com/contest/1110/problem/D
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6+6;
int a[maxn], dp[maxn][3][3];
int n,m;
int main() {
	scanf("%d%d", &n, &m);
	for(int i = 0; i < n; ++i) {
		int u;
		scanf("%d", &u);
		a[u]++;
	}
	memset(dp,-0x3f3f3f3f,sizeof dp);
	dp[0][0][0] = 0;
	for(int i = 1; i <= m; ++i) 
		for(int j = 0; j < 3; ++j)
			for(int k = 0; k < 3; ++k)
				for(int t = 0; t < 3; ++t) 
					if(a[i] >= j+k+t)
						dp[i][k][t] = max(dp[i][k][t], dp[i-1][j][k]+j+(a[i]-j-k-t)/3);
	cout << dp[m][0][0] << endl;
	return 0;
}

/*
dp[i][j][k] : 前i个数中, 在有j个[i-1,i,i+1]和k个[i,i+1,i+2]的情况下符合条件的三元组有多少个。
dp[i][k][t] = max{dp[i-1][j][k]+j+(a[i]-j-k-t)/3}    j:[i-2,i-1,i] 
*/
huggingface 镜像站推荐 在做 Ai 应用开发或者学习的时候,我们经常需要下载各种模型,而 huggingface 的模型下载速度很慢或者根本就连不上,这里推荐一个 huggingface 的镜像站,速度很快,可以大大提高我们的效率。 阅读详情

相关推荐

片上眼图(Eye-opening monitor)

当它们值不同的时候error counter +1,通过统计RX到的码元个数、error counter,可以获得offset sampler上下左右不停的调整位置时的一个误码率(BER),通过这个误码率去描绘出眼图。如上图所示,eye-scan RX端 offset sampler独立且并行的和使用CDR sample的采样电路一起跑,offset-sampler可以任意调整水平(time)和垂直(voltage)方向的偏移(如下图所示),在一个UI内产生一个全新的sample点。

沈土豪的书屋 4415

Codeforces 1110D Jongmah (dp)

没有摘要

Hacheylight 765

Zemax非序列模式实战:手把手教你设计光纤耦合圆光斑整形系统(附Thorlabs透镜选型)

本文提供了一份基于Zemax非序列模式的光纤耦合圆光斑整形系统实战设计指南。文章详细讲解了从圆柱体光源建模、Thorlabs商业透镜库选型调用,到系统搭建、光线追迹与优化的完整流程,旨在帮助工程师高效完成从仿真到落地的光束整形系统设计。

weixin_28335283的博客 631

Jongmah CodeForces - 1110D +DP

Jongmah CodeForces - 1110D +DP

qq_63108111的博客 262

新手避坑指南:用镭神C32和KVH 1750 IMU做标定,为什么直接上lidar_align会失败?

本文详细解析了使用镭神C32激光雷达和KVH 1750 IMU进行标定时常见的失败原因及解决方案。从IMU的微分传感器特性到Lidar-IMU标定的数学本质,再到可行的标定方案和实操注意事项,帮助新手避开认知陷阱,掌握正确的标定方法。

weixin_30162121的博客 327

【Agent】多智能体框架MetaGPT入门教程

创建一个 Action 类的子类 SimpleWriteCode,子类中定义好 prompt,并解析返回结果。在 MetaGPT 中,

酒酿小圆子呀~ 3137

Codeforces 1110D Jongmah (DP)

题意:你有n个数字,范围[1, m],你可以选择其中的三个数字构成一个三元组,但是这三个数字必须是连续的或者相同的,每个数字只能用一次,问这n个数字最多构成多少个三元组? 解析:首先我们容易发现,我们发现,假设有3个三元组(x, x + 1, x + 2),我们不妨把这3个三元组换成(x, x, x), (x + 1, x + 1, x + 1), (x + 2, x + 2, x + 2)这3...

weixin_30826095的博客 283

2026年7月19日 从可插拔到共封装:技术路线研究报告

AI 算力的爆发正在重写数据中心光互连的技术路线。本报告对当前并存的四代光互连架构——

weixin_51184047的博客 586

【codeforces 1110D Jongmah 】【思维】【dp】

【题意】 给n个数字,数字的范围为m,连续的三个数字或者三个相同的数字可以组成一个tripe,每个数字只能属于一个tripe,问最多能组成多少个tripe ?   https://codeforces.com/problemset/problem/1110/D 【思路】 因为出三个顺子和出三个刻子对答案的贡献是一样的,因此不妨假设以每种牌为开头的顺子都不超过2个,那么就可以做费用提前计算的...

running_acmer的博客 634

ICC2:使用analyze_lib_cell_placement检查lib cell的pass rate

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?在place之前需要使analyze_lib_cell_placement命令去检查lib cell在当前的site row/power plan/legalize设置的环境下能够正常place和legalize。下面分享一个脚本去报告pass rate低于2%的lib cell。

m0_61544122的博客 674

华为od 面试八股文_Android安卓_05_含答案

华为od 面试八股文_Android安卓_05_含答案

MISAYAONE的博客 950

[codeforces1110D]Jongmah

time limit per test:3 seconds memory limit per test:256 megabytes You are playing a game of Jongmah. You don’t need to know the rules to solve this problem. You have n tiles in your hand. Each tile ha...

dxyinme-Zz 830

【个人学习总结】CRC校验原理及实现

CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 ..................

星Yeah 的博客 7967

codeforces 1110D - Jongmah GNU

[i-2,i-1,i],[i-1,i,i+1],[i,i+1,i+2] 对于i+1状态[i-1,i,i+1]可以由i状态求的古不考虑 dp[i][j][k] 用掉j+k个i+1故减去 dp[i+1][k][t]=max(dp[i+1][k][t],dp[i][j][k]+(cnt[i+1]−j−k−t)/3+t);dp[i+1][k][t] = max(dp[i+1][k][t],dp[i][j]...

KLChen的博客 454

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

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

Codeforces1110 D. Jongmah(dp)

题意: 解法: [x,x+1,x+2]这种最多出现两次, 因为如果出现三次的话,可以拆分为: [x,x,x],[x+1,x+1,x+1],[x+2,x+2,x+2]. 令d[i][j][k]为[1,i]的数, i-1留下j个不使用,i留下k个不使用的最大值, 其中j和k的取值不超过4. 因为i可能组合成[i-1,i,i+1],也可能组合成[i,i+1,i+2], 每种组合最多两次,一共就是4次,因此最多为之后留下4个. 存i-1和i的个数是为了方便d[i+1]的计算. 枚举[i-1,i,i+1]的组合次

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 285

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

CodeForces 1110 D. Jongmah

传送门. 看错题交了11发才过。 给出n个数,分最多组,使得每组标号相邻递增或全部相同。 1&lt;=n&lt;=10^6 首先自然地想到dp设前两个有多少个,当然这个dp会超时。 不难想到如果一个数出现的次数比较多,那么应该先把他自己取了。 那么这个数具体是多少呢? 如果我们取了(a,b,c)三次,是可以转成取a,b,c分别三次。 那么一个数最多作为前中后分别2次,最多的次数就是2*3=6次 也...

Cold_Chair的博客 597

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Codeforces 1110 简要题解

文章目录A题B题C题D题E题F题G题 传送门 众所周知ldxoildxoildxoi这种菜鸡选手是不会写HHH题的,因此该篇博客只有AAA题至GGG题的题解,实在抱歉。 A题 传送门 题意简述:给出b,kb,kb,k和a1,a2,...,aka_1,a_2,...,a_ka1​,a2​,...,ak​问bk−1a1+bk−2a2+...+akb^{k...

weixin_30851867的博客 275

CodeForces - 1110C-Meaningless Operation(打表找规律)

Can the greatest common divisor and bitwise operations have anything in common? It is time to answer this question. Suppose you are given a positive integeraa. You want to choose so...

weixin_30835649的博客 230

Jongmah CodeForces - 1110D (DP)

传送门:QAQ   题意;给你n个数,问你用这些数最多可以组成多少个长度为3的连续区间或者三个值相同的区间,每个数只能用一次。   思路:如果大于等于3个数的话,肯定是会被打掉的。 然后我们确定dp方程 设dp[i][j][k]:表示前i位里面有j个[i-1,i,i+1],k个[i,i+1,i+2]。方程为dp[i][k][t] = max(dp[i][k][t], dp[i - 1]...

liexss的博客 377

codeforces 1100D

传送门:http://codeforces.com/contest/1100/problem/D 交互题 题意:在一个999*999的棋盘上,你有一个白骑士,每次可以向相邻的八个格子移动,对方有666个黑骑士,可以任意移动,如果在对方做出操作后,如果存在一个黑骑士和你的白骑士同行或者同列,那么你就赢了,现在请输出你的移动方案,系统给出对方的方案,输出一个必胜方案。 题解:如果我们从当前位置扫...

black_miracle的博客 346

Codeforces Global Round 1 D. Jongmah

费用提前计算dp

ACoder 434

codeforces 1110D. Jongmah

You are playing a game of Jongmah. You don’t need to know the rules to solve this problem. You have n tiles in your hand. Each tile has an integer between 1 and m written on it. To win the game, you w...

突破吧!次元壁 395

周末总结——(并查集+dp)

这一周学的就比较杂了,刚开始还在做dp的题,后来想还是做点别的,然后又在做并查集的题,到了周末,遇到了一个并查集的题涉及了图论的其他知识,然后又开始看图论的基础知识。 然后就是又打了一次div2,发现要不就是看不懂题,要不就是没涉及到算法的,出了3个第四个没翻译出来。等翻译完在出题解。 就简单地写几个我认为这周比较有意义的题解吧: P1455 搭配购买 链接: https://www.luogu.com.cn/problem/P1455 题意: 就是给你一定的钱,让你买东西,求你买的东西的价值最大,前提就是

qq_51769081的博客 589

经商------并查集+简单dp

平面上有若干个点,从每个点出发,你可以往东南西北任意方向走,直到碰到另一个点,然后才可以改变方向。 请问至少需要加多少个点,使得点对之间互相可以到达。 第一行一个整数n表示点数( 1 <= n <= 100)。 第二行n行,每行两个整数xi, yi表示坐标( 1 <= xi, yi <= 1000)。 y轴正方向为北,x轴正方形为东。 小d是一个搞房地产的土豪。每个人经商都...

weixin_44781226的博客 164

codeforces 1110D-Jongmah

题意 n个数,皆不大于m,(1 /leq n, m \leq 10^6),求能构成的顺子和刻子的数目和的最大值。 题解 先考虑简化版,每个数只出现一遍,那明显是个水题。 然后考虑能不能限制每个数出现的次数来简化问题。全部设置不大于3次其实是不行的,毕竟优先考虑构成顺子或刻子是不行的。 例如数据1,2,2,2,3和1,2,3,3,3,4,4,5,5 但是可以注意到,三个或三个以上的相同顺...

weixin_30371875的博客 256

Jongmah CodeForces - 1110D

传送门 题意:你有n个数字,范围[1, m],你可以选择其中的三个数字构成一个三元组,但是这三个数字必须是连续的或者相同的,每个数字只能用一次,问这n个数字最多构成多少个三元组? 题解:三个一模一样的顺子等于三个对子(三张) #include<cstdio> #include<iostream> #include<algorithm> ...

weixin_30632899的博客 159
上一篇: 动态规划 dfs序+LIS
下一篇: Uva 11374机场快线 最短路(枚举一条边)
Link_Ray
博客等级 码龄9年 44粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值