第九章例题 F-UVa11584 Partitioning by Palindromes

2026.06.15+细节判断+郭熙+(笔记)(郭熙言语高分“十二计”).pdf 立即下载

/*SE:wn------王宁*/
 会对刘汝佳大神的记忆化判断回文串方法进行解读,至于代码是我理解后自己写的,

会更加直观一些,所以顺序,语句数量会不一样。

 当然啦,刘汝佳大神的代码我会放在最后。

/*SE:wn------王宁*/
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000+5;
int run,runs,vis[maxn][maxn],d[maxn];
bool isp[maxn][maxn]; string s;
//位置相等的时候只有一个,直接返回1
//两端元素不相等的时候直接挂掉
//两端元素相等的时候可以往里面搜
//搜到同一个(奇数个字符回文)或者lo>hi(偶数个字符回文)可以返回1,表明
//之前的每一层搜都通过了 s[lo]==s[hi] 的考验
//记得点赞哦……不对不对 ,记得保存值哦。记忆化搜索咯 
bool judge(int lo, int hi){
	if(lo>=hi) return 1;
	if(s[lo]!=s[hi]) {
		isp[lo][hi]=0;
		return 0;
	}
	else if(s[lo]==s[hi]){
		//至于那个vis[lo][hi]==run,
		//就省掉了vis的memset 0 ,表明你在这一轮搜过了 
		if(vis[lo][hi]==run) return isp[lo][hi];
		isp[lo][hi]=judge(lo+1,hi-1);
		vis[lo][hi]=run;
		return isp[lo][hi];
	}
	
}
int main()
{
	int i,j,len; 
	scanf("%d",&runs); memset( vis, 0, sizeof(vis));
	for(run=1;run<=runs;run++){
		getchar(); memset( isp, 0, sizeof(isp)); d[0]=0;
		s=" "; string t; 
		cin>>t; s=s+t;
		len=s.length()-1;
		for(i=1;i<=len;i++){
			d[i]=i;
			for(j=0;j<i;j++){
				if(judge(j+1,i)) d[i]=min(d[i],d[j]+1);
			}
		}
		printf("%d\n",d[len]);
	}
	return 0;
}
// UVa11584 Partitioning by Palindromes
// Rujia Liu
// This code is slightly different from the book.
// It uses memoization to judge whether s[i..j] is a palindrome.
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int maxn = 1000 + 5;
int n, kase, vis[maxn][maxn], p[maxn][maxn], d[maxn];
char s[maxn];

int is_palindrome(int i, int j) {
  if(i >= j) return 1;
  if(s[i] != s[j]) return 0;

  if(vis[i][j] == kase) return p[i][j];
  vis[i][j] = kase;
  p[i][j] = is_palindrome(i+1, j-1);
  return p[i][j];
}

int main() {
  int T;
  scanf("%d", &T);
  memset(vis, 0, sizeof(vis));
  for(kase = 1; kase <= T; kase++) {
    scanf("%s", s+1);
    n = strlen(s+1);
    d[0] = 0;
    for(int i = 1; i <= n; i++) {
      d[i] = i+1;
      for(int j = 0; j < i; j++)
        if(is_palindrome(j+1, i)) d[i] = min(d[i], d[j] + 1);
    }
    printf("%d\n", d[n]);
  }
  return 0;
}

 

 

高校技术转移办公室人员在推进成果转化时,如何快速识别高质量专利?.docx 高校技术转移办公室人员在推进成果转化时,如何快速识别高质量专利? 立即下载

相关推荐

交错并联图腾柱PFC变换器仿真设计(Simulink仿真实现)

内容概要:本文档围绕“交错并联图腾柱PFC变换器”的Simulink仿真实现展开,系统阐述了该高效率功率因数校正(PFC)拓扑的建模、控制策略设计与仿真验证全过程。作为适用于中大功率场合的先进PFC结构,交错并联图腾柱通过降低输入电流纹波、提高功率密度和系统效率,展现出显著优势。文档详细介绍了系统总体架构、主电路参数设计、双闭环控制策略(包括电压外环与电流内环)、PWM调制技术、软启动机制以及仿真结果分析等内容,帮助读者掌握从理论分析到仿真实践的完整开发流程。同时,文档还引入与其他主流变换器拓扑(如LLC、DAB、Vienna整流器等)的对比分析与协同应用场景探讨,体现了其在现代电力电子系统集成化发展中的重要地位。; 适合人群:具备电力电子技术基础知识、熟悉Simulink/Matlab仿真环境,从事电源系统设计、新能源变换器研发等相关工作的研究生、工程师及科研人员(建议具有1年以上相关实践经验)。; 使用场景及目标:① 深入理解交错并联图腾柱PFC变换器的工作原理与高性能控制方法;② 掌握基于Simulink的PFC系统建模与闭环控制器设计流程;③ 通过仿真数据分析系统动态响应与稳态性能,优化控制参数;④ 为后续硬件原型开发提供可靠的理论依据与前期验证手段。; 阅读建议:建议结合文档配套的Simulink仿真模型进行逐步操作,重点聚焦于双闭环控制结构设计与PI参数整定环节,深入理解各模块间的耦合关系。同时,可参考文中提及的Vienna、LLC等其他典型拓扑,开展横向对比研究,全面把握不同类型PFC架构的技术特点与适用边界。对于初学者,建议先夯实Buck/Boost电路基础与PWM控制原理,再进入本主题的深入学习。

uva 11584

题目: We say a sequence of characters is a palindrome if it is the same written forwards and backwards. For example, ‘racecar’ is a palindrome, but ‘fastcar’ is not. A partition of a sequence of

fouzhe的博客 468

baostock实战:如何用Python批量下载多只股票的历史数据(含常见错误排查)

本文详细介绍了如何使用Python和baostock库批量下载多只股票的历史数据。内容涵盖从环境搭建、代码标准化到构建稳健的批量下载框架的全过程,并重点提供了高级错误处理、网络重试、数据验证及内存管理等实战解决方案,帮助用户高效构建股票数据处理流水线。

nice1的博客 1081

UVA11584PartitioningByPalindromes

递归+记忆化搜索。但这道题最巧妙地地方在于如何判断回文,即枚举每个待判断的回文两头,从两头开始向中间递归,逐步判断两个文字是否相同,同时记录访问过两头文字,避免重复劳动,值得学习!

qq_16603365的博客 252

Unity2D像素刀光实现:粒子方向控制与像素级渲染规范

像素风游戏中的刀光特效并非普通粒子动画,而是需严格遵循像素艺术原理的视觉暂留模拟。其核心在于将‘瞬时切割感’转化为程序可执行的渲染逻辑:通过禁用纹理滤波保障1:1像素锐度,绑定刀锋向量控制粒子运动方向,限定≤0.15秒生命周期匹配人眼暂留阈值,并采用Stretched Billboard实现动态拉伸拖影。该方案兼顾美术语义(如直劈、横扫、突刺)与工程约束(Sorting Layer分层、对象池复用、单粒子GPU优化),广泛适用于Unity2D平台的动作反馈系统,尤其适配《空洞骑士》《死亡细胞》类高节奏像素R

weixin_32390647的博客 283

2021秋-北邮计算机导论期末考试(BUPT)

2021秋-北邮计算机导论期末考试(BUPT) 难度较低适合新手练习

weixin_73985779的博客 1499

P315 GCD等于XOR UVa12176 “不难发现”的解释 以及完整推导过程

1. a-b&lt;=a xor b, 对于在同一个数位相同的二进制位值,xor和减法的效果都是一样的。 对于在同一个数位不同的二进制位值,xor恒等于1,而减法可能向高位借1. 2.gcd(a,b)&lt;=a-b (假设a&gt;b) 因为gcd(a,b)=gcd(b,a%b) 设a=qb+r  r=a%b=a-qb gcd(b,a%b)=gcd(b,a-qb) 此时最大公因数不...

JXUFE_ACMer的博客 381

人大金仓的‘影子表’sys_user:搞懂Schema优先级,告别字段不存在的报错

本文深入解析人大金仓数据库中‘影子表’sys_user的Schema优先级问题,帮助开发者解决字段不存在的报错。通过分析Schema搜索路径机制,提供四种解决方案,包括连接时指定Schema、动态调整搜索路径、永久修改用户设置和使用完全限定表名,确保查询准确无误。

weixin_30329623的博客 596

第八章习题 E - Paper Folding

/*SE:wn------王宁*/ /*这一题我是按照这位 https://blog.youkuaiyun.com/weizhuwyzc000/article/details/47038989 的方式写的,我主要讲一下自己实现的注意点和一些体会*/ /*首先是题意的理解:自己去折纸只提示一点,最底下那“张”永远是最小单位的纸张区域 然后关于规律和路线思想的提出,请看原网站。 详解路线:知道路线之后从当前位置...

JXUFE_ACMer的博客 349

Blender地形建模实战:5步搞定Gazebo仿真地形(附避坑指南)

本文提供了一份详细的Blender地形建模实战指南,旨在帮助开发者快速创建Gazebo仿真地形。文章通过五个核心步骤,从环境准备、地形雕刻、模型优化导出,到创建Gazebo模型包及问题排错,系统讲解了如何将Blender中的地形模型成功导入Gazebo进行机器人仿真,并重点分享了关键的避坑经验。

weixin_28475533的博客 345

单细胞分析实战:用R语言绘制带连线的堆叠柱状图(附完整代码)

本文详细介绍了如何使用R语言绘制带连线的堆叠柱状图进行单细胞转录组数据分析,特别适用于展示细胞比例变化趋势。通过完整代码示例和实战技巧,帮助研究者优化多组别比较的可视化效果,提升科研图表质量。

yhn4567890的博客 390

第十章例题 A - Colossal Fibonacci Numbers! UVA - 11582

/* SE:wn------王宁 1.f数组的值显然是不重复的,因为是递增数列 2.但是它每个元素都%n,必定是有重复的规律,否则里面a^b那么大怎么找对应的? 刘汝佳大神说因为余数最多n中,所以最多n*n项就会出现重复我不理解 3.所以找出重复的次数,到时候里面的 a^b 取余再到存放的数组里面去找就行了 4.关于a和b我一开始以为他们太大存不下,然而用unsigned long long ...

JXUFE_ACMer的博客 347

【03】海康MVS V4.3.0 ——安装教程、查看示例、库、头文件、开发指南

海康威视MVS机器视觉软件安装与使用指南:首先从官网下载MVS 4.3.0安装包,默认设置完成安装。安装后可在Development目录查看示例代码、开发文档及头文件,支持C++/C#/Python等多语言开发。软件内置虚拟相机功能,通过工具菜单添加虚拟设备后即可模拟真实相机操作,支持中英文界面切换、参数调节(曝光/增益等)及图像采集功能。虚拟相机虽仅能显示预设图像,但完整保留了参数调节功能,适合开发者进行功能测试。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3313

第九章例题 E - Jin Ge Jin Qu hao

/*SE:wn------王宁*/ 这道背包思路一点都不难想,大致实现也不难写。 最难的是什么?是在边界值的初始化和特殊情况的处理。 So, let's solve it!   /*SE:wn------王宁*/ #include&lt;bits/stdc++.h&gt; using namespace std; /* dp[i][j]是说前i首歌在时刻j所能完成的歌的数目 一. 初始化...

JXUFE_ACMer的博客 341

将指定文件夹下每张用LabelImg标注的图片中标注部分抠出来保存到指定文件夹下。

将指定文件夹下每张用LabelImg标注的图片中标注部分抠出来保存到指定文件夹下。

weixin_44119674的博客 440

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

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

第十一章例题 UVa753 A Plug for UNIX

       “完全不知,往日为何,能与我……” 好吧我想说完全不知道为什么我觉得这几天对图论的学习都很有意思,学起来又酷又炫的~ 刘汝佳大神的源码我会放在后面。 /*SE:wn------王宁*/ /*回过头去学二分图匹配的匈牙利算法,才发现原来这一题就是二分图匹配啊 关键的一点就是这个转换器是给带插头的设备使用的 有点,有边——int n,m; 要知道和点连接的边——void add...

JXUFE_ACMer的博客 330

IEM模型,地表粗糙度模拟

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

第八章例题 UVa11134 Fabled Rooks

/*SE:wn------王宁*/ 首先是对行列不相关的理解,只要行列都各自满足不相关即可——好像和没说一样,但是如果不能理解这个也不能理解剩下的做法,一定要先想清楚的确可以用一维的方法解题。 接下来是对那个solve函数的for循环解读——贪心思想,然后是做这道题目遇到的bug以及修复方法 解读——贪心思想 /* 1. 未被使用过 2. 能在前端满足包含条件  3. 后端要尽可能靠近当前...

JXUFE_ACMer的博客 328

jre9下载 jdk9

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

第十一章例题 uva 1151 C- Buy or Build

自己用dfs实现枚举 + 对刘汝佳大神用二进制枚举的解读  /*SE:wn------王宁*/ /*Buy or Build 输入输出解读 输入: 城市编号从1-n 1.告诉你有几个case 2.1 n of cities in the country (1 ≤ n ≤ 1000) 2.2 followed by the number q of existing subnetworks ...

JXUFE_ACMer的博客 327

第九章例题 D- Unidirectional TSP

/*SE:wn------王宁*/ 这是一道简单的多阶段决策题目,但是要注意细节处理。 #include&lt;bits/stdc++.h&gt; using namespace std; const int maxr=15; const int maxc=105; int mat[maxr][maxc]; int d[maxr][maxc]; int path[maxc]; int mai...

JXUFE_ACMer的博客 318

第九章例题 C - Tour

/*SE:wn------王宁*/ #include&lt;bits/stdc++.h&gt; using namespace std; const int maxn=55; double x[maxn],y[maxn],dp[maxn][maxn],dist[maxn][maxn]; /*第一部分是求线段长度,no need for explanation 关键是第二部分 我之前只有...

JXUFE_ACMer的博客 315

第九章例题-A A Spy in the Metro

/*SE:wn------王宁*/ 先贴出刘汝佳大神的源码:只有在开头有改动,因为他的遇到0不能正常结束。 然后是贴出自己的源码和注释,注释很长,挑能看懂的看,有一些是解读,有一些是产生脑洞后的思考。 还没ac的看解读就行了,ac的不妨也看一下我的困惑和思考过程欢迎批评与指正。 大神源码在此,boom~: // UVa1025 A Spy in the Metro // Rujia L...

JXUFE_ACMer的博客 309

紫书P263 嵌套矩形如何输出所有路径(DAG上的动态规划)代码与解读

/*SE:wn------王宁*/ 我加了一些注释——划重点+帮助思考。 源代码出处:https://blog.youkuaiyun.com/qq_36300700/article/details/78397748   #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;mat...

JXUFE_ACMer的博客 307

第九章例题 9-20 Dropping water balloons UVA - 10934

/*SE:wn------王宁*/ 前面是正解,后面的是我自己第一次尝试的代码——仅仅走出了第一步,很有借鉴意义,我也在那里做了一下总结——放在代码中的那一段注释。 /*SE:wn------王宁*/ /*T - Dropping water balloons UVA - 10934 */ #include&lt;bits/stdc++.h&gt; using namespace std; c...

JXUFE_ACMer的博客 306

第九章例题 B - The Tower of Babylon UVA - 437

/*SE:wn------王宁*/ 刘汝佳大神源码 &amp;&amp; 我的AC代码(可能更简洁易懂)+ 我的前期思路、解说和总结 &amp;&amp;我前期的失败代码   // Rujia Liu #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; using namespace std; #...

JXUFE_ACMer的博客 293

第十一章例题 UVa11082 Matrix Decompressing

/*SE:wn------王宁*/ // UVa11082 Matrix Decompressing // rewrited version /*有没有很神奇,这是一个可以用最大流解决的问题 矩阵的sum值是固定的 所以行和之和=列和之和 也就是说从起点流出的流量最后全部流入了终点 起点分成数量为行数的流,通过分别流入该行与各列交汇的单元格,共同构成各列的列和 起点与代表行的点连接的边的容量就...

JXUFE_ACMer的博客 292

第九章例题 H - Color Length

/*SE:wn------王宁*/ 这题是我理解原代码最久的题目——所以看到这篇文章的你可能也想了很久吧,加油加油。 今天我来给大家说一下刘汝佳大神在紫书中没有详细讲解的部分以及他的原代码中看上去好像不合逻辑的地方(其实是对的啦)。从正面推导我还解释不了——就是这个是怎么想出来的以及极其清晰的运作原理,这应该和dp的最优子结构有关系吧。 书中:d(i,j)是还需要多少费用 代码中:它指的是...

JXUFE_ACMer的博客 288
上一篇: 第九章例题 E - Jin Ge Jin Qu hao
下一篇: 第九章例题 H - Color Length
JXUFE_ACMer
博客等级 码龄9年 20粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值