AtCoder Beginner Contest 281 (https://atcoder.jp/contests/abc281) A~D

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

ATcoder(atcoder.jp)A~D

由于比赛试题全英文,非Markdown,博主由于没有时间,不方便把题架搬运过来,请谅解!只好将题目链接至于下方。

A - Count Down

题目描述

给定一个整数n,输出小于n的非零数

代码展示

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	while(n>=0){
		cout<<n<<endl;
		n--;
	}
	return 0;
}

B - Sandwich Number

题目描述

给定一个长度为8的字符串s,符合以下条件:

  • 第一个字母是大写字母
  • 中途六个数字在 100000 100000 100000到 999999 999999 999999 之间
  • 最后一个字母是大写字母

代码展示

#include <bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	int n=0;
	for(int i=1;i<=6;i++){
		n*=10;
		n+=s[i]-'0';
	}
	if(s[0]>='A'&&s[0]<='Z'&&s[7]>='A'&&s[7]<='Z')
		if(n>=100000&&n<=999999)
			cout<<"Yes"<<endl;
		else
			cout<<"No"<<endl;
	else
		cout<<"No"<<endl;
	return 0;
}

C - Circular Playlist

题目描述

第一行,输入一个n,t(t代表音乐播放时间)
第二行,输入n个整数(n代表每首歌的时长)
从第一首歌开始循环播放,输出第t秒时播放第几首歌以及已经播放的时间,没有样例是刚好播完的歌

代码展示(赛时超时代码一)

#include <bits/stdc++.h>
using namespace std;
 
int n,a[100100];
long long t;
 
int main(){
	cin>>n>>t;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	while(true){
		bool f=false;
		int p;
		for(int i=1;i<=n;i++){
			t-=a[i];
			if(t<=0){
				p=i;
				f=true;
				break;
			}
		}
		if(f){
			cout<<p<<" "<<t+a[p]<<endl;
			break;
		}
	}
	return 0;
}

超时原因:算法复杂度O(n*不定)

代码展示(赛时超时代码二)

#include <bits/stdc++.h>
using namespace std;
 
int n,a[100100];
long long t;
 
int main(){
	cin>>n>>t;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	long long cn=0;
	for(int i=1;i<=n;i++)
		cn+=a[i];
	while(t>0){
		t-=cn;
	}
	for(int i=n;i>=0;i--){
		t+=a[i];
		if(t>0){
			cout<<i<<" "<<t<<endl;
			break;
		}
	}
	return 0;
}

超时原因:

while(t>0){
		t-=cn;
	}

当t很大,cn很小,就会超时

代码展示(赛时超时代码三)

优化思路:用t%cn,可是舍去循环

#include <bits/stdc++.h>
using namespace std;
 
int n,a[100100];
long long t;
 
int main(){
	cin>>n>>t;
	long long cn=0;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		cn+=a[i];
	}
	t%=cn;
	for(int i=1;i<=n;i++){
		if(t>a[i])
			t-=a[i];
		else{
			cout<<i<<" "<<t<<endl;
			break;
		}
	}
	return 0;
}

算法复杂度:O(n)

D - Max Multiple

没有实践

Vivado与Vscode无缝集成:高效Verilog开发环境搭建指南 本文详细介绍了如何将Vivado与Vscode无缝集成,打造高效的Verilog开发环境。通过替换Vivado默认编辑器为Vscode,配置必备插件和语法检查工具,开发者可以大幅提升FPGA项目的编码效率。文章还提供了代码片段、Testbench自动生成等高级技巧,帮助开发者快速上手这一集成方案。 阅读详情

相关推荐

【软路由】旁路由使用配置教程

【软路由】旁路由使用配置教程简介旁路由好处旁路由配置步骤1、修改管理地址网段 简介 我们都知道,软路由一般有两种使用方式,一种是作为承担DHCP分配的主路由,而另一种就是作为不承担DHCP分配功能的旁路由使用。今天就来介绍如何将软路由配置成为旁路由。 旁路由好处 旁路由最大的好处就是它不承担DHCP分配任务,这意味着它的对网络的影响极小。即使突然故障也不会导致整个网络瘫痪。更别提软路由的配置复杂,用户可能还经常修改上面的网络配置,一旦出错就是整个网络瘫痪,如果家中还有其他人使用网络,影响实在是不好。 建议有

博客 4万+

AtCoder Regular Contest 112 简单题解(AC 了 A ~ D,缺 E ~ F)

A 题:A - B = C 题目链接 https://atcoder.jp/contests/arc112/tasks/arc112_a。 题解 本题不难,如果数据量不大的话,本题可以使用暴力枚举的方法来解决。也就是在 [L, R] 之间枚举 A 和 B,并计算 C=A-B,这样算法的时间复杂度是的。 我们看看本题的数据范围,本题给了 T 个样例,T 的最大值是 2e4。[L, R] 的最大值是 1e6。如果我们进行暴力枚举的话,计算量将达到,这样的计算量,我们肯定是没有办法在 1 秒内完成...

努力中的老周的专栏 1229

CarPlay无线连接背后的‘握手’秘密:深入解读iAP2协议与蓝牙/Wi-Fi协同

本文深入解析了CarPlay无线连接背后的技术细节,重点探讨了iAP2协议与蓝牙/Wi-Fi的协同工作原理。从蓝牙层的UUID识别到iAP2协议的握手过程,再到Wi-Fi热点的建立与优化,详细揭示了CarPlay无线连接的安全机制和调试方法,为开发者提供了实用的技术参考。

weixin_42520573的博客 475

AtCoder Beginner Contest 281 (E-F)

atcoder日常练习

scanner 361

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1656

PaddleOCRv5训练自己的模型-微调文字识别模型

本文介绍了使用PaddleOCR微调文字识别模型的具体步骤。首先需要按照官方格式准备数据集,包括图片和标注文件。然后进行模型训练,包括环境安装、预训练模型下载、配置文件修改等关键环节,特别针对训练中可能出现的类别数不匹配问题提供了三种解决方案。文章还详细说明了模型导出为静态图格式的方法,以及如何调用训练好的模型进行推理。整个过程涉及多个技术细节,如早停机制设置、断点续训方法等,为需要提升OCR识别精度的开发者提供了实用指导。

weixin_43827982的博客 3176

AtCoder Beginner Contest 281

对二进制位数进行考虑,对于每个Ai如果在第k位数上都为1或0,显然可以用x全部异或为0,如果不全为1或0,x就不能把每个Ai在这数位上消为0,这就可能对答案有贡献;转移f[i][j][k]=max(f[i][j][k],f[i-1][j][k]);删除:当到达第i个时,如果i>m,明显前i-1个不能保留在s1和s2中,因此删去。s1装前k个数,s1装待装入的数;dp,f[i][j][k]表示前i个数选了j个余k,增加:s1长度小于k时,直接从s2中insert,初始化f[i][j][k]=0。

weixin_63526687的博客 278

STM32 AFIO时钟开启时机与复用功能解析

在嵌入式系统开发中,GPIO复用是微控制器外设配置的核心技术之一。通过复用功能,单个物理引脚可以动态切换不同功能模式,如USART通信或普通IO。其实现原理依赖于芯片内部的时钟树架构和寄存器配置机制。AFIO(Alternate Function I/O)模块作为STM32的特色设计,专门处理引脚重映射、外部中断配置等高级功能。正确理解复用功能与AFIO时钟的关系,能显著提升嵌入式开发效率,避免资源浪费。本文以STM32为例,结合引脚重映射和USART配置等典型场景,详解AFIO时钟的实际应用规范与优化实践

weixin_42389113的博客 578

ATCoder Beginner Contest 281

ABC281A~E

m0_74946315的博客 508

Android - 蓝牙开发

文章目录科普SIG类型制式编程Classic BluetoothBluetooth Low Energy蓝牙的UUID是什么?有什么用? 科普 https://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99 蓝牙(英语:Bluetooth),一种无线通讯技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)。其使用短波特高频(UHF)无线电波,经由 2.4 至 2.485 GHz 的 ISM(工业、科学、医疗)频段来进行通信。1994 年由电信商

qq_43323826的博客 1万+

ADS 2013安装教程

1.2013和2014安装过程是一样的,运行ads2013_06_shp_windows文件进行安装 2.点击“NEXT”。 3.选择I accept,然后点击“NEXT”。 4.选择“complete”,然后点击“NEXT”。 5.选择安装路径,最好默认安装路径,安装路径不要有中文,然后点击“NEXT”。 6.点击“NEXT”. 7.如下路径默认安装,然后点击“NEXT”。 8.点击“NEXT”。 ...

谢谢关注“小鱼教你模数电”,各平台同号 6008

2023.1.17-AtCoder Beginner Contest 281-题解

2023.1.17-AtCoder Beginner Contest 281-题解

JIUSHIYE_ANOTHER的博客 399

嵌入式Linux&Android开发-TP调试

目录 一、修改DTS,添加新的I2C设备 二、修改Makefile,Kconfig 三、tp调试时的问题排查 一、修改DTS,添加新的I2C设备 &i2c4 { status = "okay"; clock-frequency = <400000>; gslX680@40 { compatible = "gslX680"; reg = <0x40>; touch-gpio = <&gp

嵌入式成长手册 571

AtCoder Beginner Contest 281 (A-F,口胡G)青大acmer 日常vp

青大蒟蒻又vp辣

qq_52358098的博客 653

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

AtCoder Beginner Contest 281 F - Xor Minimization (字典树)

每周至少五篇博客:(3/5)

Resot的博客 754

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

AtCoder Beginner Contest 281 补题报告

AtCoder Beginner Contest 281 补题报告 F、G、Ex待补

wuorbs的博客 264

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

D - Max Multiple(AtCoder Beginner Contest 281)

当第i个数取与不取对dp的影响如下:①时,直接跳过;②当不取时,,我们有当前状态转移到下一个状态,因为不取所以就与一样,所以将其本身与求最大值即可!③当取且j

Edward Shi的博客 627

Atcoder 281 解题报告

Atcoder 281 解题报告

wp_fxy的博客 199

AtCoder Beginner Contest 098 游记+题面+题解

游记 今天下午省选模拟打得我心态爆炸,晚上打打abc压压惊。 开场过了555分钟我才开始打,这让我成为了第一版(A题开局)A掉A题最慢的人了。 被wzy奶了一口AK,好像真AK了…… wzy:“abc的题目啥时候这么水了啊。” 垃圾abc,辛辛苦苦打个3rd才给我加这么点rating,以后再也不打abc了。 A - Add Sub Mul 题目大意 给出a,ba,ba,b...

Canopus 497

AtCoder Beginner Contest 242 C~E 题解

ABC242 C~E 题解 C - 1111gal password D - ABC Transform E - (∀x∀)

天生我材必有用,千金散尽还复来。 8457

【OJ比赛日历】12.10-12.16 15场比赛 #LeetCode周赛+双周赛

实时聚合多平台的(Kaggle、天池…)和(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!更多比赛信息见或 点击文末以下信息仅供参考,以比赛官网为准。

CompHub的博客 552

AtCoder ABC 281 题解 (G)

AtCoder ABC 281 的部分题解

DY-hzx的博客 1062

AtCoder Beginner Contest 280

就前四题会的()

m0_74946315的博客 371

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 197

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 305

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 567
上一篇: AtCoder Beginner Contest 280(https://atcoder.jp/contests/abc280)A~D
下一篇: 上海市计算机学会竞赛平台(iai.sh.cn)十二月月赛(丙组)解题报告
Net_bad
博客等级 码龄4年 331粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值