hdu 1545 01-K Code

『杭电1545』01-K Code Problem Description Consider a code string S of N symbols, each symbol can only be 0 or 1. In any consecutive substring of S, the number of 0's differs from the number of 1's by at most K. How many such valid code strings S are there? For example, when N 阅读详情

01-K Code

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 406    Accepted Submission(s): 96


Problem Description
Consider a code string S of N symbols, each symbol can only be 0 or 1. In any consecutive substring of S, the number of 0's differs from the number of 1's by at most K. How many such valid code strings S are there? 

For example, when N is 4, and K is 3, there are two invalid codes: 0000 and 1111. 
 

Input
The input consists of several test cases. For each case, there are two positive integers N and K in a line.

N is in the range of [1, 62].

K is in the range of [2, 5].
 

Output
Output the number of valid code strings in a line for each case.
 

Sample Input
1 2 4 3
 

Sample Output
2 14
 


分析:dp[i][j][k] 表示遍历到第i位(从1开始),当前0-1的最小值为j,0-1的最大值为k,可知j的最大值为0,k的最小值为0;
            dp[0][0][0]表示空串
转移方程:dp[i+1][min(j+1,0)][k+1]+=dp[i][j][k];//第i+1位添0
                    dp[i+1][j-1][max(k-1,0)]+=dp[i][j][k];//第i+1位添1
由于j可能为负数,故加一个偏移值5
#include<cstdio>
#include<cstring>
#define ll __int64
const int W=5;
int n,k;
int max(int a,int b){return a>b?a:b;}
int min(int a,int b){return a<b?a:b;}
ll dp[63][10][10];
int main(){
	int i,j,p;
	while(~scanf("%d%d",&n,&k)){
		memset(dp,0,sizeof(dp));
		dp[0][W][W]=1;
		for(i=0;i<n;i++){
			for(j=-k+W;j<=W;j++)for(p=W;p<=k+W;p++){
				dp[i+1][min(j+1,W)][p+1]+=dp[i][j][p];
				dp[i+1][j-1][max(p-1,W)]+=dp[i][j][p];
			}
		}
		ll ans=0;
		for(i=-k+W;i<=W;i++)for(j=W;j<=k+W;j++)ans+=dp[n][i][j];
		printf("%I64d\n",ans);
	}
	return 0;
}


一步一步搭建S32K14x的AutoSar项目----S32DS 代码工程的搭建 一步一步搭建S32K14X的AutoSar项目----S32DS代码工程的搭建 阅读详情

相关推荐

避坑指南:CentOS7.9安装Python3.8.16后yum报错的快速修复方法

本文详细解析了在CentOS7.9系统安装Python3.8.16后导致yum报错的原因,并提供了快速修复方法。通过修改yum配置文件指向Python2解释器,以及使用alternatives工具管理多版本Python,有效解决兼容性问题。同时推荐使用虚拟环境隔离开发环境,避免影响系统稳定性。

weixin_26908317的博客 497

HDU1545(01-K Code)

dp[i][j][k]=dp[i-1][j+1][k-1]+dp[i-1][j-1][k+1].

huantwofat 1314

Retinanet训练自己的数据(2):模型准备

  在上一篇博客中,我们已经处理好了模型需要的数据集,下一步就是准备模型去训练数据。这里提醒一句,在制作数据时,最好将训练集和测试集人为分开。像Google tensorflow API,在制作数据时可以按比例自动生成,但是在上一篇文章中产生的数据(annotation.csv )其实都是用来训练的,如果你把自己的数据集全都转换了,那么恭喜你,最后你会发现没有数据集去测试了。   下面开始模型准...

mingyang_wang的博客 5884

hdu_1545 01-K Code

难度为4的dp。。。。丫的!AC不解释!!!  最后两维表示从最末端 [最多1比0多][最多0比1多]  #include using namespace std; __int64 dp[111][11][11]; // 从最末端 [最多1比0多][最多0比1多] __int64 N,K,temp; inline void init()

量子流逝 1959

逆向实战:基于内存态匿名段分析的 DexProtector 检测绕过策略

本文深入探讨了针对DexProtector加固方案的Frida检测绕过策略。通过分析运行时动态加载到匿名内存段的核心检测逻辑,提出了一套基于内存态分析、定位并转储匿名可执行段,进而通过精准Hook与“等式化替换”等技术实现稳定绕过的实战方法。该方法不仅适用于DexProtector,也对采用类似内存隐藏技术的加固方案具有参考价值。

ik678901的博客 515

飞控芯片的隐形战场:传感器冗余与实时OS的可靠性革命

本文深入探讨飞控芯片在工业级无人机中的可靠性设计,聚焦传感器冗余架构与实时操作系统(RTOS)的容错机制。通过多IMU备份、自适应加权融合算法及NuttX、ChibiOS等RTOS的故障隔离技术,确保系统在极端环境下毫秒级自愈。文章还涵盖开源生态如PX4的跨平台移植及RISC-V架构的应用,为高可靠性飞控系统提供关键技术参考。

z5a6b的博客 877

01-K Code [HDU 1545]

http://acm.hdu.edu.cn/showproblem.php?pid=1545 View Code const int MM = 11111; #define debug puts("wrong") typedef __int64 int64; int N,M; int64 dp[63][11][11];//j min(0-1) k max(0-1) void...

weixin_30376163的博客 173

手把手教你搭建日本亚马逊CVV钓鱼系统(含自动验证功能)

本文详细介绍了电商平台安全防护的关键实践,重点讲解了如何构建自动化风控系统。内容包括基础架构设计、用户行为分析、交易风险评估模型构建、验证机制实现以及系统部署优化,帮助电商平台有效识别和防范安全威胁,同时提升用户体验。

weixin_30952535的博客 818

XLNet与ELECTRA在IMDb情感分析中的工程选型与实战微调

Transformer模型在文本情感分析中,核心挑战在于建模否定、转折与反讽等细粒度语义结构。BERT虽广泛应用,但其掩码语言建模(MLM)的独立性假设限制了对‘虽然…但是’类长程依赖的捕捉能力;而XLNet通过排列语言建模(PLM)显式学习词序条件概率,ELECTRA则以替换检测任务(RTD)强化上下文一致性判别——二者分别从结构建模与表征判别维度提升语义敏感度。这种架构差异直接转化为IMDb等真实影评数据上的精度跃迁与鲁棒性增强,尤其适用于含转折连词、长句及隐性情感表达的工业级场景。本文聚焦于这两类先进

weixin_34401479的博客 649

ximalaya 新xm-sign逆向思路

本文主要介绍目标网站新xm-sign值的逆向思路。仅代表个人理解,如有其他建议可在评论区沟通。声明仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除。

weixin_66580433的博客 2017

OGRE 3D----2. QGRE + QQuickView

将 OGRE(面向对象图形渲染引擎)集成到使用 QQuickView 的 Qt Quick 应用程序中,可以在现代灵活的 UI 框架中提供强大的 3D 渲染功能。本文将指导您如何在 QQuickView 环境中设置 OGRE。

charce_you的专栏 914

HDU 1545(01-K Code)

动态规划题,设 dp[i][j][k] 表示长为 i 的子序列中,0 比 1 最多多 j 个,1 比 0 最多多 k 个。 如果第 i+1 位填0,则 dp[i + 1][j + 1][max(k - 1, 0)] += dp[i][j][k]; 如果第 i+1 位填1,则 dp[i + 1][max(j - 1, 0)][k + 1] += dp[i][j][k]。 #include <iostream> #include <cstring> #include <al

Intelligence1028的博客 388

一次请求穿过的六道关卡:微服务基础组件的通信与IO、事件驱动、负载均衡、服务路由、API网关与配置协调

微服务的稳定性往往取决于看不见的基础组件。本文跟随一次下单请求,依次穿过API网关、服务路由、负载均衡与服务通信,再沿事件分支扇出,并从控制面审视配置中心。通信层剖析握手成本、连接复用、epoll与主从Reactor、心跳判活、退避抖动、截止时间与重试预算;事件层讲解编舞与编排、事务发件箱和幂等消费;均衡与路由对比静态与动态算法、路由链、全链路灰度与同区保底;网关讨论过滤器链与限流算法;配置部分给出四类配置、长轮询与共识协调,最后归纳五道防线。文中关键数据均来自可在Java8运行的演示程序。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

zoj 2745 01-K Code

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1745 题目大意: 对于一个01串,如果任意连续子串的0的个数和1的个数之差的绝对值不超过k(2~5),那么这个01串合法。 问有多少个长度为n(1~62)的合法串。 题目思路: 如果知道某长度为i合法串的后缀里最大的0和1的差,以及最大的1和

Go.To.AC的专栏 1146

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

Second——Training

#include #include #include #include #include using namespace std; #define M 12 char graph[M][M][M]; bool vis[M][M][M]; int n; struct Point{   int x,y,z;   int step;   bool operat

程序员的冷浪漫 887

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

DP ZOJ 2745 01-K Code

题目传送门 题意:要求任意连续子序列中0和1的数量差不超过k的方案数 分析:想好状态其实不难。dp[i][j][k]表示考虑前i长度,后缀中最大的 sum(0) - sum(1) = j, sum (1) - sum (0) = k的方案数,合并以下可以得到最大的|sum(0) - sum(1)| = j + k,所以j+k <= K,最后考虑当前i放0或1就可以转移状态了。 ...

weixin_33852020的博客 151

IEM模型,地表粗糙度模拟

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

HDU1548:A strange lift(BFS)

HDU1548:A strange lift(BFS) Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 49   Accepted Submission(s) : 22 Font: Times New Roman | Verdana |

Kaidge的博客 350

九度OJ1545题目详解

九度OJ1545 题目,用到并查集的知识,顺便学习一下~

slam、机器人专家 513

01-K Code ZOJ

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2745 终于AC了,纠结了一天的一道题。。。。 题意: 给一个长度为N的string , 需要往里面填充一些0、1,约束条件就是N的任意一个substring的中0的个数和1的个数之差不能超过K。 算法: DP 分析: 一开始没有看到substring 。 以为就是要

Chris_Home 1121

hdu1545 dp[i][x][y]表示到i位,从i到之前1比0最多多x个,0比1最多多y个(注意边界)...

T^T老是把转移方程方向想错 1 #include<stdio.h> 2 #include<string.h> 3 long long dp[75][15][15]; 4 int main() 5 { 6 int n,k,i,j,x,y; 7 long long sum; 8 while (~scanf("%d...

weixin_34221036的博客 169

HDU1969:Pie(二分)

Problem Description My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N of them, of various tastes and of various sizes. F of my friends are coming to

ACM!荣耀之路! 7466

HDU 1083 (匈牙利算法)

Problem Description Consider a group of N students and P courses. Each student visits zero, one or more than one courses. Your task is to determine whether it is possible to form a committee of exactl...

Xiaofugongzi的博客 347

java开发常见问题总结

Java编程中的一些常见问题汇总 ..本文列举了我在周围同事的Java代码中看到的一些比较典型的错误。显然,静态代码分析(我们团队用的是qulice)不可能发现所有的问题,这也是为什么我要在这里列出它们的原因。 如果你觉得少了什么,请不吝赐教,我会很乐意把它们加上。 下面列出的所有这些错误基本都与面向对象编程有关,尤其是Java的OOP。 类名 读

bcbobo21cn的专栏 3万+

操作系统导论期末复习题

操作系统导论期末复习题进程进程调度策略和内存虚拟化机制memory virtualization并发Persistance持久化 进程 1、When a process makes a system call to transmit a TCP packet over the network, which of the following steps do NOT occur always? A、The process moves to kernel mode. B、The program counter

star_of_science的博客 5097

今天编程最后一道01k_code.cpp

//============================================================================ // Name        : 01k_code.cpp // Author      : mtt // Version     : // Copyright   : Your copyright notice // Descri

MTT_SKY 438

perf命令使用

perf Examples

zgl07的专栏 1万+
上一篇: UVA 1162 Transcript
下一篇: zoj 2838 Utopia
libing923
博客等级 码龄15年 12粉丝 71原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值