UVa 10651 Pebble Solitaire (DP&bitset)

《跨界杂谈》华为印象(五):高度集权的矩阵式架构 高度集权的矩阵式架构 “高度集权的矩阵式架构”不是官方术语。是笔者的一位同事非常经典的总结。解释这个句话还是有点困难的,笔者入职华为三年也没彻底搞明白,在这里只能尝试性的解释一下。 矩阵 我们先看一下“矩阵”。华为有两套部门职能体系,华为内部术语,叫实线部门和虚线部门。由实线与虚线部门交叉构成矩阵。大部分(但不是所有)华为员工都由两个部门(两个领导)进行管理。对员工而言,所谓的实线部 阅读详情

10651 - Pebble Solitaire

Time limit: 3.000 seconds 

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1592

化为二进制进行状态转移,详见代码。


完整代码:

/*0.016s*/

#include<bits/stdc++.h>
using namespace std;
const int Size = 12;

char str[Size];
int dp[4100];
bitset<Size> tmp;

int f(unsigned long n)
{
	if (n == 0 || dp[n]) return dp[n];
	bitset<Size> b(n);
	int minn = b.count();///在不卡时间的情况下,我使用bitset就是因为这个函数挺方便的,虽然自己写也不过几行
	///用bitset还可以避免因运算符优先级造成的麻烦(! ~ 高于 << >> 高于 == 高于 & 高于 ^ 高于 | 高于 && 高于 ||)
	for (int i = 0; i < Size; ++i)
	{
		if (!b.test(i))///等价于if((n>>i&1)==0)
		{
			if (i < Size - 2 && b.test(i + 1) && b.test(i + 2))
			{
				tmp = b;
				tmp.set(i), tmp.reset(i + 1), tmp.reset(i + 2);///等价于n|1u<<i,n&~(1u<<(i+1)),n&~(1u<<(i+2))
				minn = min(minn, f(tmp.to_ulong()));
			}
			if (i > 1 && b.test(i - 1) && b.test(i - 2))
			{
				tmp = b;
				tmp.set(i), tmp.reset(i - 1), tmp.reset(i - 2);
				minn = min(minn, f(tmp.to_ulong()));
			}
		}
	}
	return dp[n] = minn;
}

int main()
{
	int t, i;
	scanf("%d", &t);
	while (t--)
	{
		getchar();
		for (i = 0; i < Size; ++i)
			str[i] = (getchar() == '-' ? '0' : '1');
		printf("%d\n", f(strtoul(str, NULL, 2)));
	}
	return 0;
}

【ESP32使用MAX98357播放音频】 在物联网和智能家居领域,音频播放功能越来越受到重视。ESP32作为一款功能强大的微控制器,结合MAX98357音频放大器模块,可以实现高品质的音频播放。本文将详细介绍如何使用ESP32的I2S接口通过MAX98357进行音频播放。 阅读详情

相关推荐

车辆TBOX科普 第69次 TBOX行业发展趋势与就业前景深度解析

TBOX技术革新驱动汽车智能化发展 Telematics BOX(TBOX)正快速从车辆状态监控器进化为整车智能核心,市场年增速超25%,2025年规模将达150亿美元。技术呈现四大革新方向:5G与V2X集成实现多模通信网关,支持10-20Gbps高速传输;多模GNSS融合定位精度达厘米级,北斗系统提供独特优势;边缘计算架构使TBOX具备本地AI处理能力,减少95%数据上传;硬件安全模块(HSM)成为标配,满足EVITA标准的安全需求。这些技术突破正重塑TBOX架构,使其从单纯通信管道升级为智能网联汽车的关

IT深耕十余载,大道之简 1825

发现一个在线jpg png转ICO的网站,用着感觉不错

发现一个在线jpg png转ICO的网站,用着感觉不错 为了修改一下我的favicon,我用PS做了一个新风格的PNG,百度找在线转换工具的时候发现的。 这个网站: converticon[dot]com 目前我已经把这个网站原封不动搬到了本站:http://lvwenhan.com/convertico 挺方便的,而且是MAC风格,没有广告,操作简单容易上手。 截图

xuehanjiang的专栏 1192

传统芯片封装工艺流程简介

塑封是将工件和树脂安装在模具中,加热模具,使树脂液化充满模具,降温保持一定时间后,树脂凝结为固态即可取出。它将一个大的晶圆切割成许多单独的小块,每个小块是一个“芯片”(Chip,die),这些芯片是单个集成电路的基本单位。对裸露在外的引线框架外脚电镀Sn-Pb合金,这样不仅可以提高外脚的抗氧化性,还有利于后续与印刷电路板的焊接。导电胶粘贴法:将含有银粉的环氧树脂(银浆)涂敷在框架或基板上,再将芯片放置其上,固化后可以将芯片牢牢粘接。引线框架的各腿是用筋连接着的,起支撑作用,塑封固化后,需要将其连筋切掉。

芯想是陈的博客 3190

2014年24段魔尺变三叶花视频教程

2014年24段魔尺变三叶花视频教程(升级版)偶是真心喜欢24段魔尺制作的三叶花,那是相当漂亮,体现了几何美,对称美,空间美,色彩美,见下图。三叶花,又叫三叶草,或者魔尺心。     偶学习和熟练掌握24段魔尺快速玩三叶花,也花费了点时间

2023跟着小虎玩着去软考 15万+

Aras Innovator系统配置-01对象类(一)

对象类配置-对象类属性说明

企业信息化(PLM,ERP.MES) 2032

从婴儿学步到工业级应用:VLA的‘隐式标定‘原理通俗图解

本文深入解析VLA(Vision-Language-Action)模型的'隐式标定'原理,通过类比婴儿学习机制,揭示其如何替代传统手眼标定技术。文章对比了工业机器人传统标定与VLA数据驱动方法的差异,并可视化神经网络注意力机制,展示其在空间关系编码上的突破性进展。最后探讨了VLA在工业应用中的优势与混合架构解决方案。

pz890123456的博客 323

动态规划解最长公共子序列(LCS)问题 (附可打印LCS完整代码)

动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。 为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。 【问题】 求两字符序列的最长公共字

AC,∑ndless 9136

8台 × 8卡 910B NPU之顶尖大模型选型分析

本文对比了2026年主流大语言模型在昇腾910B NPU集群上的部署方案。重点评估了GLM5、MiniMax M2.5、Kimi K2.5、DeepSeek V3.2和Qwen 3.5旗舰版等候选模型,从部署需求(显存占用)、能力表现(基准测试、多模态支持)和NPU生态适配度三个维度进行分析。结果显示DeepSeek V3.2综合表现最优:支持BF16/W8A8/INT4量化,在4TB显存环境下可实现2000+ TPS,首token延迟<100ms,且具备官方NPU支持。备选方案Qwen 3.5旗舰版

FeelTouch Labs 755

最长递增子序列(LIS)的O(NlogN)打印算法

题目: 求一个一维数组arr[n]中的最长递增子序列的长度,如在序列1,5,8,3,6,7中,最长递增子序列长度为4 (即1,3,6,7)。 方法一:一般的DP方法(O(N^2)) 像LCS一样,从后向前分析,很容易想到,第i个元素之前的最长递增子序列的长度要么是1(单独成一个序列),要么就是第i-1个元素之前的最长递增子序列加1,这样得到状态方程:

AC,∑ndless 7453

3. Matérn协方差模型与随机偏微分方程

对应的高斯马尔可夫随机场 (GMRF)可以通过使用某种随机偏微分方程(SPDE)明确构造,当由高斯白噪声驱动时,随机偏微分方程的解是具有 Matérn 协方差函数的高斯场(GF)

weixin_40614311的博客 1745

高级电机控制场景实例:基于Simulink的永磁同步电机基于Luenberger观测器的弱磁控制仿真

本文基于Simulink实现表贴式永磁同步电机(SPMSM)的Luenberger观测器弱磁控制仿真,通过构建“观测-弱磁-控制”协同逻辑,突破传统矢量控制的基速限制。利用线性化模型设计观测器实时估计电流与磁链,结合电压极限约束动态注入负d轴电流,实现转速扩展至12000rpm(4倍基速),弱磁区电流THD低于3%,动态响应时间小于5ms,验证了高速运行下系统稳定性与鲁棒性。附完整建模步骤、MATLAB函数代码及性能分析,适用于电动汽车、机床等高速驱动场景,为高级电机控制提供可复现的技术范式。

amy_mhd的博客 32

动态规划(DP)——入门篇(11.24更新)

零、先修课程 首先,在开始理解DP的思想前,你需要 1. 完成HDU里面的递推求解专题练习(For Beginner)那7道题(这些题很简单,题解请在博客中搜索),这对你理解DP有很大的帮助。 2. 对递归搜索(比如深度优先搜索,DFS)有一定了解。 一、递归与记忆化搜索 我们从POJ 3176入手来学习这一思想。(题目很短,请快速读完) 从上往下看,最大和值无非是往左走和往右

AC,∑ndless 2860

YOLOv11改进缝合FasterBlock | 一种新型轻量化卷积结构C3k2的设计与实证:兼顾精度与速度的改进方法(附代码)

YOLO系列一直是目标检测领域的明星算法,凭借其实时性和准确性在众多应用中占据一席之地。随着YOLO版本的不断迭代,网络架构逐渐变得更为复杂,尤其是在卷积模块的设计上。本文将介绍如何利用FasterNet的FasterBlock创新,并通过二次创新C3k2提出一种全新的卷积结构。该结构旨在提高YOLOv11的计算效率和准确性,特别是在视觉任务中的表现。我们的创新在保证高精度的前提下,有效降低了计算量和内存需求,特别适合在资源受限的设备上运行。

一键难忘的博客 906

Codeforces Round #119 (Div. 2) / 189A Cut Ribbon (完全背包)

A. Cut Ribbon http://codeforces.com/problemset/problem/189/A time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output

AC,∑ndless 2675

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

UVa 10313 Pay the Price (DP&整数拆分)

思路: 这个题目涉及到一个结论,用不超过j个硬币凑出面值i的方案种数,是和用面值不超过j的硬币凑出面值i的方案种数是相同的。说得再数学一点,就是整数i拆分成不超过j个整数的拆分数,是和整数i拆成若干个值不超过j的整数的拆分数是相同的。具体的证明用到了Ferrers图像的性质。 这样的话我们就可以取一个二维数组f[i][j]表示用面值不超过j的硬币凑出面值i的方案的种数,那么如果我使用了面值j,对应方案种数就应该加上f[i-j][j],如果我们不使用面值j,那么对应的方案种数就应该加上f[i

AC,∑ndless 2356

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Codeforces Round #235 (Div. 2) / 410D Roman and Numbers (带有整除性质的数位DP)

http://codeforces.com/problemset/problem/401/D 解释全部在代码的注释中: /*78ms,205464KB*/ #include using namespace std; const int mx = 1 << 18; long long dp[mx][100]; ///dp[mask][j]表示余数为j时的mask对应的x的个数 ///

AC,∑ndless 2198

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

UVa 357 Let Me Count The Ways (完全背包)

357 - Let Me Count The Ways Time limit: 3.000 seconds  http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=293 思路:dp[i] += dp[i - coin[

AC,∑ndless 2189

数位DP小记 + HDU 2089 不要62

【背景】 如何求出在给定区间[A,B]内,符合条件P(i)的数i的个数? 条件P(i)一般与数的大小无关,而与数的组成有关,有一下几种P(i): 数i是递增/递减的:1234, 2579,… 双峰的:19280,26193,… 含/不含某一数字的,比如含49:49, 149, 1492,…  被某一数m整除的,比如m=13:39,130,650... 【思路】 采用

AC,∑ndless 2156

UVa 10074 Take the Land (转化思想&最大子矩阵和)

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1015 首先将原问题转化为最大子矩阵和问题: 0 -> 1 1 -> -1000 对于最大子矩阵和问题,可以利用前缀和转化为一维的最大子序列和问题(见代码)

AC,∑ndless 1957

UVa 624 CD (0-1背包)

624 - CD Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=565 You have a long drive by car ahead. You have a

AC,∑ndless 1909

POJ 1276 Cash Machine (多重背包&单调队列)

http://poj.org/problem?id=1276 模板题。 完整代码: /*110ms,4316KB*/ #include #include const int mx = 1005; const int mxw = 1000005; int w[mx], m[mx], dp[mxw], deq[mxw], deqv[mxw]; int solve(int m

AC,∑ndless 1846

LightOJ 1085 All Possible Increasing Subsequences (DP&离散化&树状数组)

http://lightoj.com/volume_showproblem.php?problem=1085 先说个很快的方法——二维思考,从右下往左上离散化: /*0.364s,2860KB*/ #include using namespace std; const int mx = 100005; const int mod = 1000000007; int tree[m

AC,∑ndless 1744

UVa 10664 Luggage (0-1背包)

10664 - Luggage Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1605 Peter and his friends are on holiday, s

AC,∑ndless 1735

SPOJ 345 Mixtures (区间DP&前缀数组)

http://www.spoj.com/problems/MIXTURES/ 和矩阵链乘类似,然后用前缀数组来计算从i到j的连续物品的混合颜色值。 dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + ((sum[k] - sum[i - 1]) % 100) * ((sum[j] - sum[k]) % 100)); 完整代码: /

AC,∑ndless 1622

UVa 10036 Divisibility (同余DP)

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=977 直接暴力肯定不行,都O(2^n)了,那么从同余的性质入手, 定义dp[i][j]表示加到第i个数时是否能被j整除。 那么可以得到如下状态转移方程: dp[i][(

AC,∑ndless 1559

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 239
上一篇: 全排列的编码与解码——康托展开 (附完整代码)
下一篇: POJ 3176 Cow Bowling (简单DP)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值