cf div2 #444 (ABC)(D已补)

Intel Realsense d435 使用python对深度图进行预处理 Intel Realsense d435 使用python对深度图进行预处理 本文中主要翻译一下一篇关于深度图预处理过滤器的内容,后面还会有关于距离测量的。 原文中的图像显示,是使用matplotlib.pyplot工具,在本文中,使用opencv来显示深度图》 首先常规操作导入包: import cv2 import numpy as np import pyrealsense2 as rs 获取我们所需要的图像,通过摄像头或者本地都可以 pipe = rs.pipeline() cfg = rs.co 阅读详情

ABC三道大水题,自信满满锁了溜出自习室回寝睡觉,第二天起来发现变成两道题了,哭唧唧。

回头翻代码吃了一口大翔,少写了两行被自己gank了。

然后由于出题人的数据放错了导致D题一开始没人过,E和F零星有几个人,然后就洒富富跑去开F和E,数据改了重判之后D题人数飙升但是没什么时间了(一定是出题人的锅)。

好吧怪自己没把题目都看一遍,盲目跟榜会吃翔的,以后记得不管什么比赛都尽可能把所有题目都看一遍。


A. Div. 64:

给你一串1和0,问你能否删去部分数字使其转换为10进制后能被64整除。

题意翻译过来就是问你能不能在这一串0和1中找出一个非连续子串1000000,能找到即可。


AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int main(void){
	
	char str[105] ;
	scanf ("%s", str );
	int l = strlen(str) ;
	int num = 0 , flag = 0 ;
	for ( int i = 0 ; i < l ; i ++ ){
		if ( str[i] == '1' ){
			flag = 1 ;
		}
		if ( str[i] == '0' && flag == 1 ){
			num ++ ;
		}
		if ( num == 6 ){
			break ;
		}
	}
	if ( num == 6 ){
		printf ("yes\n");
	} else {
		printf ("no\n");
	}
	
	return 0;
}

B. Cubes for Masha:

给你1到3个骰子,每个上面写着0-9其中的六个数字,问你从1开始能取到的最大数是多少(不需要用上所有骰子),比如手中有一个骰子,写着1 2 3 4 5 6,则最大不能取到的是6,两个骰子分别写着0 1 2 3 4 5 , 6 7 8 9 1 2,则最小不能取到的是29(0 1 2 3 4 5 6 7 8 9分别可以由一个骰子得到,10 可以由第二个骰子的1和第一个骰子的0得到,以此类推)。

考虑到三个骰子最多三位数,直接暴力开一个1005的整形数组num,把所有可能情况都跑一遍记录在num中,然后在num中找一个最小的找不到的数,那这个数的前一个就是最大的找得到的数。


AC代码:

#include <cstdio>
#include <cstring>

using namespace std;

int main(void){
	
	int num[1005] = {} , cube[3][8] ;
	
	int n ;
	scanf ("%d", &n );
	for ( int i = 0 ; i < n ; i ++ ){
		for ( int j = 0 ; j < 6 ; j ++ ){
			scanf ("%d", &cube[i][j] );
		}
	}
	if ( n == 1 ){
		for ( int i = 0 ; i < 6 ; i ++ ){
			num[cube[0][i]] = 1 ;
		}
	} else if ( n == 2 ){
		for ( int i = 0 ; i < 6 ; i ++ ){
			num[cube[0][i]] = 1 ;
			num[cube[1][i]] = 1 ;
		}
		for ( int i = 0 ; i < 6 ; i ++ ){
			for ( int j = 0 ; j < 6 ; j ++ ){
				num[cube[0][i]*10+cube[1][j]] = 1 ;
				num[cube[0][j]*10+cube[1][i]] = 1 ;
				num[cube[1][j]*10+cube[0][i]] = 1 ; //PP代码这一句和下一句没写,导致赛后wa82  一大口shit
				num[cube[1][j]*10+cube[0][i]] = 1 ; 
			}
		}
	} else if ( n == 3 ){
		for ( int i = 0 ; i < 6 ; i ++ ){
			num[cube[0][i]] = 1 ;
			num[cube[1][i]] = 1 ;
			num[cube[2][i]] = 1 ;
		}
		for ( int i = 0 ; i < 6 ; i ++ ){
			for ( int j = 0 ; j < 6 ; j ++ ){
				num[cube[0][i]*10+cube[1][j]] = 1 ;
				num[cube[0][i]*10+cube[2][j]] = 1 ;
				num[cube[1][i]*10+cube[0][j]] = 1 ;
				num[cube[1][i]*10+cube[2][j]] = 1 ;
				num[cube[2][i]*10+cube[0][j]] = 1 ;
				num[cube[2][i]*10+cube[1][j]] = 1 ;
			}
		}
		for ( int i = 0 ; i < 6 ; i ++ ){
			for ( int j = 0 ; j < 6 ; j ++ ){
				for ( int k = 0 ; k < 6 ; k ++ ){
					num[cube[0][i]*100+cube[1][j]*10+cube[2][k]] = 1 ;
					num[cube[0][i]*100+cube[2][j]*10+cube[1][k]] = 1 ;
					num[cube[1][i]*100+cube[0][j]*10+cube[2][k]] = 1 ;
					num[cube[1][i]*100+cube[2][j]*10+cube[0][k]] = 1 ;
					num[cube[2][i]*100+cube[0][j]*10+cube[1][k]] = 1 ;
					num[cube[2][i]*100+cube[1][j]*10+cube[0][k]] = 1 ;
				}
			}
		}
	}
	for ( int i = 1 ; i < 1005 ; i ++ ){
		if ( num[i] == 0 ){
			printf ("%d\n", i-1 );
			break ;
		}
	}
	
	return 0;
}

C. Solution for Cube:

给你一个2*2*2的二阶魔方,给你24个数字,分别表示六个面上每个格子的颜色,问你这个魔方能否由一次旋转变为一个拼好了的魔方(必须转一次)。

(出题人甚至给错了例1的配图)

题目中的样例2输入为:

5 3 5 3 2 5 2 5 6 2 6 2 4 4 4 4 1 1 1 1 6 3 6 3
对应下图:

1-24所对应的方格是确定的。


思路:首先在输入时判断这个魔方有几个面已经拼好了,记录拼好的面的个数以及拼好的是哪一个面。

如果拼好的面不足两个或多于两个,必定不能由一次旋转得到拼好的魔方。

如果拼好的面为两个,则再判断拼好的两个面是否为相互面对的面(相互面对的面没有边或点连接),如果相互面对则一顿暴力的判断。


AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int main(void){
	
	int a[26] = {} , flag[6] = {} , cnt = 0 ;
	for ( int i = 0 ; i < 6 ; i ++ ){
		for ( int j = 1 ; j <= 4 ; j ++ ){
			scanf ("%d", &a[i*4+j] );
		}
		if ( a[i*4+1] == a[i*4+2] && a[i*4+1] == a[i*4+3] && a[i*4+1] == a[i*4+4] ){
			flag[i] = 1 ;
			cnt ++ ;
		}
	}
	if ( cnt != 2 ){
		printf ("NO\n");
	} else {
		if ( flag[0] && flag[2] ){
			if ( ( a[5] == a[6] && a[5] == a[15] && a[5] == a[16] && a[7] == a[8] && a[7] == a[17] && a[7] == a[18] && a[19] == a[20] && a[19] == a[21] && a[19] == a[22] && a[13] == a[14] && a[13] == a[23] && a[13] == a[24] ) || ( a[7] == a[8] && a[7] == a[13] && a[7] == a[14] && a[5] == a[6] && a[5] == a[19] && a[5] == a[20] && a[17] == a[18] && a[17] == a[23] && a[17] == a[24] && a[21] == a[22] && a[21] == a[15] && a[21] == a[16] ) ){
				printf ("YES\n");
			} else {
				printf ("NO\n");
			}
		} else if ( flag[1] && flag[5] ){
			if ( ( a[1] == a[2] && a[1] == a[17] && a[1] == a[19] && a[9] == a[18] && a[9] == a[10] && a[9] == a[20] && a[12] == a[11] && a[11] == a[14] && a[11] == a[16] && a[3] == a[4] && a[3] == a[13] && a[3] == a[15] ) || ( a[4] == a[3] && a[3] == a[18] && a[3] == a[20] && a[11] == a[12] && a[11] == a[17] && a[11] == a[19] && a[9] == a[10] && a[9] == a[13] && a[9] == a[15] && a[1] == a[2] && a[1] == a[14] && a[1] == a[16] ) ){
				printf ("YES\n");
			} else {
				printf ("NO\n");
			}
		} else if ( flag[3] && flag[4] ){
			if ( ( a[1] == a[3] && a[1] == a[6] && a[1] == a[8] && a[5] == a[7] && a[5] == a[10] && a[5] == a[12] && a[9] == a[11] && a[9] == a[21] && a[9] == a[23] && a[2] == a[4] && a[2] == a[22] && a[2] == a[24] ) || ( a[1] == a[3] && a[1] == a[21] && a[1] == a[23] && a[2] == a[4] && a[2] == a[5] && a[2] == a[7] && a[9] == a[11] && a[9] == a[6] && a[9] == a[8] && a[10] == a[12] && a[10] == a[22] && a[10] == a[24] ) ){
				printf ("YES\n");
			} else {
				printf ("NO\n");
			}
		} else {
			printf ("NO\n");
		}
	}
	
	return 0;
}

补题后会放上代码(虽然这么弱感觉补不了什么题,试试吧)。




---------------------------------------------补题分割线---------------------------------------------


D. Ratings and Reality Shows

一直wa4,没有找到原因,数据组数太多又不能调就没仔细看,所以骂了很久的数据。然后稍微仔细看了下,答案是0,我的输出是1,wori为什么输出可以是0,一大口shit。


题意:一个人要去参加一个比赛。比赛期间她有两个活动A和B,在给定的某一天进行其中一个活动(每天至多进行一个活动)。从第0天开始她可以举办一次演讲,在演讲之前,进行A活动会给她加上a分,进行B活动会给她减去b分;而在举办演讲之后,进行A活动会给她加上c分,进行B活动会给她减去d分,她的初始分数start给出,演讲活动的buff持续时间len也给出,问你:她最早可以在第几天举办演讲,来满足演讲之前和期间的总分都不会出现负数。

思路:尺取法,起始标记点s记录左端,终点标记点e记录右端,用一个sum维护初始的分数。若s点和e点之间的距离大于等于给定len,则判断初始分数加上过程中的最低分数是否满足大于等于0。若满足则直接输入,否则将初始分数sum加上左端s位置的对应分数(若s对应位置当天是加的则加上,减去的则减去),而最小值与sum相反,减去左端s的对应分数。若改变后的sum小于0,输出-1(因为要求在举办演讲之前的分数也要大于等于0,也是一个wa点)。

注意:左端s的初始点的左侧应为第-1天(即tag为-1),否则在第四组样例中你的输出也会为1而不是0(同为wa点)。

测试数据:

5 1 1 1 1 0 2

1 1

2 1

3 1

4 1

5 1

你的输出应该为0而不是1。


AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

typedef long long ll ;

struct node {
	int q , t ;
};

node pos[300005] ;

int main(void){
	
	ll n , a , b , c , d , st , len ;
	scanf ("%I64d%I64d%I64d%I64d%I64d%I64d%I64d",&n,&a,&b,&c,&d,&st,&len );
	
	for ( int i = 1 ; i <= n ; i ++ ){
		scanf ("%d%d",&pos[i].q,&pos[i].t );
	}
	
	ll sum = st , ans = 0 , minn = 0 ;
	int e = 1 ;
	
	pos[0].q = -1 ;
	
	for ( int s = 1 ; s <= n ; s ++ ){
		
		while ( e <= n && pos[e].q - pos[s].q <= len ){
			if ( pos[e].t == 1 ){
				ans += c ;
			} else {
				ans -= d ;
			}
			minn = min ( minn , ans );
			e ++ ;
		}
		
		if ( sum + minn >= 0 ){
			printf ("%d\n", pos[s-1].q + 1 );
			return 0 ;
		}
		
		if ( pos[s].t == 1 ){
			ans -= c ;
			minn -= c ;
			sum += a ;
		} else {
			ans += d ;
			minn += d ;
			sum -= b ;
		}
		
		if ( sum < 0 ){
			printf ("-1\n");
			return 0;
		}
		
	}
	printf ("%d\n", pos[n].q + 1 );
	
	return 0;
}


计算机等级考试(二级WPS)---真题14套 目录 真题14一、选择题二、WPS文字三、WPS表格四、WPS演示21.打开考生文件夹下的素材文档 “WPS.docx”(.docx 为文件扩展名),后续操作均基于此文件,否则不得分。小周正在整理一份关于极光的文档,请按要求帮助她完成文档的排版工作。1.将全文中的手动换行符全部替换为中文句号并回车,删除文中的空行和空格。2.将正文第 2 段(“在我國的古書…… 極光”)中的繁体字转换成简体字,并为其设置 “正文” 样式。3.对文档样式进行如下设置:4.为 “1.3 极光的形态” 一节中列出的五种极光形态特征 阅读详情

相关推荐

【接地系统篇】电力系统接地技术详解:从基本原理到实际应用

接地是为电流返回电源提供的一条低阻抗通道。简单来说,就是为故障电流修建一条"安全回家"的路,防止电流通过人体或其他不应带电的部件。接地系统选择原则安全性优先:TN-S系统安全性最高,适合重要场所经济性考虑:TN-C系统成本最低,适合一般工业连续性要求:IT系统供电连续性最好,适合特殊场所灵活性选择:TN-C-S系统兼顾经济与安全,应用最广。

2301_81299416的博客 2223

Div2每天两题

DIV每日一题

Funing7的博客 1133

Win 11 Fastboot驱动的详细安装教程

Fastboot驱动的详细安装教程

水w的博客 1万+

CFDiv2-Wish I Knew How to Sort-(期望)

就是给你一个都是0和1的数组,然后每次随机选择两个不同的位置i

m0_52398496的博客 585

腾讯开源CubeSandbox:为Agent打造可随时丢弃的安全沙箱环境

在人工智能与自动化技术快速发展的今天,智能体(Agent)在执行复杂任务时往往需要独立、完整的计算环境,但环境失控带来的安全风险一直是落地瓶颈。为解决这一痛点,可丢弃式沙箱技术应运而生。它通过轻量虚拟化原理实现环境秒级重建,并严格隔离宿主资源,即使Agent执行了恶意或误操作,也不会波及其他系统。这种技术价值在于平衡了灵活性与安全性,使开发者敢于赋予Agent更多自主操作权限。目前,这类技术已广泛应用于AI编程、自动化测试、数字员工、恶意代码分析等真实场景,成为Agent可靠运行的基石。腾讯开源的CubeS

weixin_42539414的博客 251

【WRF运行报错】总结WRF运行时报错及解决方案(持续更新)

总结WRF运行时报错及解决方案(持续更新)

WW、forever的博客 1629

css对于字体和背景等属性的控制

字体(Font) css控制的字体属性包括font-family, font-style, font-variant, font-weight, font-size. 1.font-family: 由字体名(family-names)和字组名(generic families)两个部分组成.首先来看个实例,例:查看Jorux.com首页的css文件,可以看到以下代码: body { font...

前端基础入门学习线路 2381

RT-DETR改进策略【RT-DETR和Mamba】| CVPR 2025:EfficientViM 压缩隐藏状态空间进行通道混合、单头设计减少内存操作,提升目标检测效率与精度

本文记录的是利用模块优化的目标检测网络模型。EfficientViM Block(基于隐藏状态混合器的状态空间对偶性模块) 的设计旨在,提升特征提取效率,同时兼顾全局依赖捕捉与局部细节保留。本文将深入研究的原理,并将其应用到中,通过重构特征提取流程、减少内存绑定操作、融合多阶段特征,增强模型在资源受限环境下的检测性能与速度。Depth Information Assisted Collaborative Mutual Promotion Network for Single Image DehazingLE

Limiiiing的博客 915

CFdiv2-Chip Move-(线性dp+状态枚举方式)

就是dp[i][j]直接从dp[i-j][j]转移过来,因为在i-j之前往后跳,方案都是一样的,我直接从dp[i-j][j]跳步到i这里。因为dp[i-j][j],只是从i-j之前的dp[t][j-1]转移过来的。所以加上这个方案就好了,那么就是dp[i][j] = dp[i-j][j]+dp[i-j][j-1]。就是有n个点,初始在0点,每次你可以跳跃一个长度,但是第一次的长度是k的倍数,第二次是k+1的倍数…转移的话,肯定是从前面中dp[t][j-1]转移过来的,t和i的距离是j的倍数就行。...

m0_52398496的博客 982

基于STM32、HAL库的TCA9555PWR I/O扩展器驱动程序设计

define TCA9555_ADDR_BASE 0x20 // 基础地址 (A0=A1=A2=0)* @param direction: 方向 (0=输出, 1=输入)* @param direction: 方向 (0=输出, 1=输入)* @param polarity: 极性 (0=正常, 1=反转)* @param polarity: 极性 (0=正常, 1=反转)

corlin6688的博客 525

在Qt中集成VTK和PCL:实现数据可视化的完整指南

在现代软件开发中,数据可视化至关重要。将VTK(Visualization Toolkit)和PCL(Point Cloud Library)集成到Qt环境里,能为开发者提供强大的可视化解决方案。本文将深入讲解如何在Qt中读取PCL文件,展示VTK模型和PCL数据,适合想要在Qt项目中实现数据可视化的开发者。

轩宇的博客 916

Codeforces Round #829 (Div. 2)

就是我先判断所有的数字总和,假如和为0,那我不需要操作任何数字,每一个数字都是单独的区间,这样就可以满足条件。C1题的意思就是给定一串长度为n的-1,1串,再给定一个规则划分区间,使得区间里面的数字+ -交换操作,得到区间的和,然后所有区间的和是否可以等于0。其实进行简单分析一下就可以得出,假如数字的个数是奇数,那无论怎么配对都不可能成功,直接输出-1,假如个数为偶数,则一定会成功,具体的推理的话,可以分成两两一队,而这一对只有四种可能1 1,1 -1 ,-1 -1 ,-1 1.整体的思路像栈的操作一样。

qq_61793850的博客 839

北斗导航 | 卡尔曼滤波与因子图优化对比(附图优化matlab代码)

- 历史数据利用:因子图通过滑动窗口保留历史状态,优化时联合多帧数据;卡尔曼滤波仅依赖当前和上一帧状态 。 - 迭代优化:因子图通过多次迭代逼近最优解,卡尔曼滤波仅单次更新 。 - 误差抑制:因子图的多次线性化可有效抑制非线性误差(如GNSS伪距观测的非线性) 。

尘世冰封的专栏 1299

scrapling 官网教程

选择使用方法查找元素访问元素的数据Navigation 导航抓取网站内容HTTP 请求动态加载的网站动态加载,并且有防护的网站。

freeking101的博客 1110

pscad IEEE标准系统搭建说明

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

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

cf960(div2)

题意:爱丽丝和鲍勃在大小为n的数组a中进行游戏,他们轮流进行运算,爱丽丝先开始,不能运算的一方输,一开始mx=0,每次操作,玩家可以选择一个牵引i,ai>=mx,mx设置为ai,ai设为0.判断爱丽丝是否有一个获胜策略。分析:经历操作一次后的数组是非递减的,以后每次都是将数组向右移动,为了防止数组从左往右,不含0的第一个数字在数组里只出现1此,我们可以再执行一次操作,所以只要执行两次操作就能知道剩下的操作次数。

m0_74310050的博客 1227

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

信奥入门级相关的比赛(2025.01.13)

信奥入门级相关的比赛(2025.01.13)

青少年趣味编程 3920

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

CFdiv2-Helping the Nature-(差分整理)

C题意: 就是给你n个数,然后每次你可以把1到i这些点的数都-1,或者i到n这些点的数-1,或者整个数组都加1。问你最小多少次可以让整个数组变成0。思考: 刚开始想了下贪心,但是发现贪心很麻烦。于是去想二分,二分肯定只能用强制性判断,但是想了想没法去强制性。然后感觉基础的做法不行之后,感觉好像是差分,但是掌握的不是太牢固,就不知道怎么想下去了。所以一定要把基础打牢。 其实这个就是把2到n点的差分维护出来以后,既然想要整个数组为0,那么首先让2到n点的差分都要变成0,只有这样每个数才会和前面的那个数相等,也就

m0_52398496的博客 278

Codeforces Round #444 (Div. 2) - C - Solution for Cube

传送门:点击打开链接题意:给出一个魔方,每个数字代表一种颜色,可以将每个面顺(逆)时针翻转九十度,问是否能让魔方的每个面颜色都相同。分析:乍一看就是个模拟,总共有6种翻转情况,将每次翻转的情况进行判断就行了,结果写了很久的代码,代码有两百多行,精简之后还有一百多行,看来下别人的代码,代码很精简,只有几十行,学到了,后面发现并不需要代码去模拟翻转,手动模拟一下,直接判断6种情况下6个面的颜色是否一致...

常胜将军的博客 348

Codeforces Round 924 (Div. 2)

有长度为n的一排队伍,队伍的序号有个标准值k,每2*k-2重置一次序号,每段为(1,2…Y * (2 * k - 2) - x + 2 = n,即(n + x - 2) % (2*k-2) == 0。题意:给出长度为n的整数数组a,将1到n的数分别加到数组元素中,数组众数最大是多少。Y * (2 * k - 2) + x = n,即(n - x) % (2。题意:给出a*b的矩形,沿着其中一个边恰好一分为二后可以组成一个新的矩形。上坡:首先最后一段一定是1~x为结尾,而前面我们假设有Y段(2。

maisui12138的博客 743

代码源每日一题Div2

思路:开始思路是找规律,for遍历每个数,然后插空什么的,结果问题就是有很多情况考虑不到.最后换了dfs解法,首先判断数量最多的数的数量和其他数数量总和的关系1.如果数量最多的数的数量大于其他数数量总和+1,那么一个隔一个插空都插不了,空不够,直接判失败2.如果数量最多的数的数量等于其他数数量总和+1,这个时候就只能把最大的这个数推进用于排序的数组3.如果数量最多的数的数量小于其他数数量总和+1,这个时候就是选合适的最小的数的时候了最后把用于排序的数组遍历输出一下,结束。

sign_river的博客 841

CFdiv2-Tournament Countdown-(思维+交互题套路)

然后你每次可以询问a和b,他俩谁赢的多,如果返回1a多,2b多,0一样多。只要想到这,题目就好处理了,既然是3场比赛,那么就是4个人,所以4个4个的看。刚开始没啥感觉,刚开始我想先把一半用暴力求出来,这样是n/2次查询,但是另一半怎么凑呢,如果n/4也不行,所以就不行了。如果1=3,那么1和3都是输掉的,因为如果他俩都是胜者,那么晋级后肯定要有一个比较大。所以再比较晋级的2和4就可以了。如果1>3,那么1肯定晋级,再查询1和4,比较一下就可以了。如果1...

m0_52398496的博客 518

LeetCode #444. Sequence Reconstruction

题目描述: Check whether the original sequenceorgcan be uniquely reconstructed from the sequences inseqs. Theorgsequence is a permutation of the integers from 1 to n, with 1 ≤ n ≤ 104. Reconstruction...

LawFile的博客 503

cf div2

7.30 A 题意 定义这一种数 为nearly prime 就是可以分成两个质数相乘如6=23 14=27等 然后给你一个数n 问时候可以把n 分成四个不想等的数其中有3个是nearly prime 思路 一般分数的都是思维题 有几个数肯定是固定的,这题就是 最小的三个nearly 为 6 10 14 如果小于等于他们的和很定不行如果大于就是可以的,然后 要保证都不相同如果n 减去他们的和 和他们其中的一个相等 那么就可以让14+1 为15 也是这种数,然后 第四个数 减1 可能变变成 6 9 13

xgx984826498的博客 597

CodeForces Round #444 (Div.2)

A. Div. 64 题意 问你能不能去掉一些0和1使这个二进制数整除64 题解 就是判断100000是不是个子串 1 str = input() 2 l = len(str) 3 flag = 0 4 ok = 0 5 for i in range(l - 1, -1, -1): 6 if flag < 6 and str[i] =...

acuiyi4402的博客 288

CF Div.2 #402 A.Pupils Redistribution

原题传送门 啊。题意是 有两个元素数量相等的数组,相互交换元素,使两个数组的元素都相同,求其最小的步数。如果无法完成则返回-1。 其实开一个数组就可以,注意考虑a[x]–后小于0的情况。还有每次交换都可以调整两个元素,结果要/2. #include #include #include using namespace std; int a[6]={0}; int main() {

Koe_no_katachi的博客 317

CFdiv2-Almost Triple Deletions-(正难则反+线性dp)

D题意: 就是给你一个数组,然后对于相邻的两个不同的数,必须删掉他俩,但是删的顺序随意。问你最后最多能剩下多少数。思考: 很明显,就是删去之后省下的数肯定是相同的。然后数据范围5000,很明显就像是dp了。但是dp该怎么定义呢?刚开始我想dp[i][j]走到i点结尾的数为j的最大可以剩下多少。这样就两重循环了,但是该怎么转移呢?对吧,如果用经典转移又加一重循环,而且第二维度就不要了。直接定义dp[i]以i为结尾的最大可以剩多少。然后转移从前面转移,如果他俩中间的数可以删去,并且i和j的值相同那么可以转移。对

m0_52398496的博客 486
下一篇: Poj 3320 Jessica's Reading Problem(尺取法)
Stupid_Turtle
博客等级 码龄9年 25粉丝 18原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值