atcoder abc357

A Sanitize Hands 

问题:

思路:前缀和,暴力,你想咋做就咋做

代码:

#include <iostream>using namespace std;const int N = 2e5 + 10;int n, m;
int a[N];int main() {cin >> n >> m;for(int i = 1; i <= n; i ++ ) {cin >> a[i];}int ans = 0;for(int i = 1; i <= n; i ++ ) {m -= a[i];ans = i;if(m <= 0) break;}if(m < 0) cout << ans - 1;else cout << ans;return 0;    
}

B Uppercase and Lowercase

问题:

思路:大小写转换,这里有个问题,为什么我的转换最后都变成数字了,先留个疑问

代码:

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 2e5 + 10;string str;int main() {cin >> str;int cnt1 = 0, cnt2 = 0;for(auto t: str) {if(t >= 'a' && t <= 'z') cnt1 ++;else cnt2 ++;}if(cnt1 >= cnt2)transform(str.begin(),str.end(),str.begin(),::tolower);else transform(str.begin(),str.end(),str.begin(),::toupper);cout<<str<<endl;return 0;
}

C Sierpinski carpet

问题:

思路:阴间题,第一眼递归,但是不想求太多坐标,于是想到把图全变成‘#’最后填充'.'

代码:

#include <iostream>
#include <cmath>
#include <vector>using namespace std;const int N = pow(3, 6) + 10;char g[N][N];
int n;int main() {cin >> n;int len = pow(3, n);for(int i = 1; i <= len; i ++ ) {for(int j = 1; j <= len; j ++ ) {g[i][j] = '#';}}for(int level = 1; level <= n; level ++ ) {for(int i = 1 + pow(3, level - 1); i <= len; i += pow(3, level)) {for(int j = 1 + pow(3, level - 1); j <= len; j += pow(3, level)) {for(int k = i; k <= i + pow(3, level - 1) - 1; k ++ ) {for(int u = j; u <= j + pow(3, level - 1) - 1; u ++ ) {g[k][u] = '.';}}}}}for(int i = 1; i <= len; i ++ ) {for(int j = 1; j <= len; j ++ ) {cout << g[i][j];}cout << endl;}return 0;
}

D 88888888

问题:

思路:逆元,快速幂,对原式子变形后发现最后的结果实际上就是x 乘上一个等比数列,这是碰见的第一道逆元的题目,也明确了我对逆元的认识,由于 a / b % mod != (a % mod/ b % mod) % mod,而直接除的话会造成精度丢失,因此我们可以把除法变成乘法,根据费马小定理如果b和p互质,那么b的逆元就等于b ^ p - 2 因此可以快速幂求逆元

代码:
 

#include <iostream>using namespace std;const int mod = 998244353;long long x;int get(long long a) {int cnt = 0;while(a) {a /= 10;cnt ++;}return cnt;
}long long qmi(long long a, long long b) {long long res = 1;while(b) {if(b & 1) res = ((res % mod) * (a % mod)) % mod;b >>= 1;a = (a % mod * a % mod) % mod;}return res;
}int main() {cin >> x;int len = get(x);long long part1 = x % mod;long long a = qmi(10, (long long)len);long long b = qmi(a, x);b --;long long c = qmi(a - 1, 998244353 - 2);long long part2 = (b % mod * c % mod) % mod;cout << (part1 * part2) % mod;return 0;
}

E Reachability in Functional Graph

问题:

思路:考虑如果题目是一颗树的话那么直接一个记忆化即可,但是该题会出现环,因此考虑缩点,记得开long long

据说这是基环树板子,回头学一下基环树

代码:

#include <iostream>
#include <cstring>
#include <stack>
#include <map>using namespace std;const int N = (2e5 + 10) * 2;stack<int> stk;
int n;
int val[N], ne[N], h[N], idx;
int dfn[N], low[N], id[N], _size[N], scc_cnt, ts;
int cnt[N];
bool ins[N], st[N];
long long ans = 0;void add(int a, int b) {val[idx] = b;ne[idx] = h[a];h[a] = idx ++;
}void tarjan(int u) {dfn[u] = low[u] = ++ ts;stk.push(u);ins[u] = true;for(int i = h[u]; i != -1; i = ne[i]) {int j = val[i];if(!dfn[j]) {tarjan(j);low[u] = min(low[u], low[j]);} else if(ins[j]) low[u] = min(low[u], dfn[j]);}if(dfn[u] == low[u]) {++ scc_cnt;int y;do {y = stk.top();stk.pop();ins[y] = false;id[y] = scc_cnt;_size[scc_cnt] ++;} while (y != u);}
}void dfs(int u) {for(int i = h[u]; i != -1; i = ne[i]) {int j = val[i];if(!st[j]) {dfs(j);st[j] = true;}cnt[u] += cnt[j];ans += _size[u] * cnt[j];}
}int main() {memset(h, -1, sizeof h);cin >> n;scc_cnt = n;for(int i = 1; i <= n; i ++ ) {int x;cin >> x;add(i, x);}for(int i = 1; i <= n; i ++ ) if(!dfn[i]) tarjan(i);for(int i = 1; i <= n; i ++ ) cnt[id[i]] = _size[id[i]];map<pair<int, int>, int> ma;for(int i = 1; i <= n; i ++ ) {for(int j = h[i]; j != -1; j = ne[j]) {int k = val[j];if(id[i] != id[k] && !ma[{i, k}]) {add(id[i], id[k]);ma[{i, k}] ++;}}}memset(st, 0, sizeof st);for(int i = scc_cnt; i > n; i -- ) {if(!st[i]) {st[i] = true;dfs(i);}}for(int i = scc_cnt; i > n; i -- ) ans += (long long)_size[i] * (_size[i] - 1);cout << ans + n;return 0;
}

F

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/25356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

度小满金融大模型的应用创新

XuanYuan/README.md at main Duxiaoman-DI/XuanYuan GitHub

如何自动化地评估 AIGC 生图的质量?

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

网络资源模板--基于Android Studio 实现的音乐播放器

一、项目源码获取(非开源) 关注公众号&#xff1a;《编程乐学》 后台回复&#xff1a;24060801 二、项目测试视频 网络资源模板--基于Android Studio 音乐播放器 三、项目简介 四、项目测试环境 五、项目详情设计图 1.登录注册页面介绍 <?xml version"1.0" enco…

【Git】详解本地仓库的创建、配置以及工作区、暂存区、版本库的认识

一、创建本地仓库 需要将本地仓库放在一个目录下&#xff0c;所以在创建本地仓库之前&#xff0c;应该先创建一个目录&#xff0c;再进入这个目录&#xff1a; 在这个目录中创建一个本地仓库&#xff1a; git init 创建完成后&#xff0c;我们就会发现当前目录下多了一个.git…

ssm604基于Java Web的怀旧唱片售卖系统+vue【已测试】

前言&#xff1a;&#x1f469;‍&#x1f4bb; 计算机行业的同仁们&#xff0c;大家好&#xff01;作为专注于Java领域多年的开发者&#xff0c;我非常理解实践案例的重要性。以下是一些我认为有助于提升你们技能的资源&#xff1a; &#x1f469;‍&#x1f4bb; SpringBoot…

强!推荐一款开源接口自动化测试平台:AutoMeter-API !

在当今软件开发的快速迭代中&#xff0c;接口自动化测试已成为确保代码质量和服务稳定性的关键步骤。 随着微服务架构和分布式系统的广泛应用&#xff0c;对接口自动化测试平台的需求也日益增长。 今天&#xff0c;我将为大家推荐一款强大的开源接口自动化测试平台: AutoMete…

手机自动化测试:4.通过appium inspector 获取相关app的信息,以某团为例,点击,搜索,获取数据等。

0.使用inspector时&#xff0c;一定要把不相关的如weditor啥的退出去&#xff0c;否则&#xff0c;净是事。 1.从0开始的数据获取 第一个位置&#xff0c;有时0.0.0.0&#xff0c;不可以的话&#xff0c;你就用这个。 第二个位置&#xff0c;抄上。 直接点击第三个启动。不要…

QA测试开发工程师面试题满分问答26: Cookie、Session、Token和JWT的定义、区别和使用场景

这是一个非常常见的面试题,需要全面掌握 Cookie、Session、Token 和 JWT 的定义和使用场景,以及它们之间的区别。下面是一个详细的满分回答: Cookie: 定义: Cookie 是一种存储在客户端(通常是浏览器)的小型文本文件,用于在客户端与服务器之间保持会话状态。使用场景: 常用于保存…

Java Web学习笔记29——Vue路由

Vue路由&#xff1a; 前端路由&#xff1a;点击菜单栏&#xff0c;地址栏会发生变化&#xff0c;会显示对应的组件。 URL中的Hash&#xff08;#号后面的部分&#xff09;与组件之间的对应关系。 Hash是/dept&#xff0c;那么就是部门管理组件&#xff1b; Hash是/emp, 那么…

Macbook M芯片Maven的安装与配置

Macbook M芯片Maven的安装与配置 下载 搜索Maven 进入网站 https://maven.apache.org/download.cgi 点击Download 点击如下链接进行下载&#xff1b; 将下载好的文件放到你的指定位置 双击进行解压 配置环境变量 进入终端 在终端中输入 open ~/.bash_profile输入以下内…

Zynq7000 系列FPGA模块化仪器

• 基于 XilinxXC7Z020 / 010 / 007S • 灵活的模块组合 • 易于嵌入的紧凑型外观结构 • 高性能的 ARM Cortex 处理器 • 成熟的 FPGA 可编程逻辑 &#xff0c;基于 IP 核的软件库 FPGA 控制器 Zynq7000 系列模块是基于 Xilinx XC7Z020/010/007S 全可编程片上系统 (SoC) 的…

湖南(品牌控价)源点调研 手机价格管理对品牌的影响分析

前言&#xff1a;手机自发明以来&#xff0c;过去一直是国际品牌占主导地位&#xff0c;从最初的爱立信、摩托罗拉&#xff0c;到后来的诺基亚、三星&#xff0c;苹果在这个手机行业里&#xff0c;竞争激励&#xff0c;没有百年企业&#xff0c;每个品牌的盛衰都有背后的历史背…

手写kNN算法的实现-用余弦相似度来度量距离

设a为预测点&#xff0c;b为其中一个样本点&#xff0c;在向量空间里&#xff0c;它们的形成的夹角为θ&#xff0c;那么θ越小&#xff08;cosθ的值越接近1&#xff09;&#xff0c;就说明a点越接近b点。所以我们可以通过考察余弦相似度来预测a点的类型。 from collections i…

Linux Ext2/3/4文件系统

文章目录 前言一、Linux文件系统简介1.1 简介1.2 Linux File System Structure1.3 Directory Structure 二、Ext2/3/4文件系统2.1 Minix2.2 EXT2.3 EXT22.4 EXT32.5 EXT4 三、EXT Inode参考资料 前言 这篇文章介绍了Linux文件系统的一些基础知识&#xff1a;Linux 文件系统简介…

vs - vs2013中编译sqlite3.44.2

文章目录 vs - vs2013中编译sqlite3.44.2概述笔记工程输出归档END vs - vs2013中编译sqlite3.44.2 概述 以前在vs2019下编译了sqlite3.44.2, 好使。做了笔记(sqlite3.44.2的编译) 现在准备将手头的vs2019工程改为vs2013的&#xff0c;自然要将sqlite也编译为vs2013版本的。 按…

[HNCTF 2022 WEEK4]flower plus

第一种花指令 第二种花指令 根据两种花指令特征&#xff0c;写出去花指令脚本 saddr0x401000 eaddr0x435000 for i in range(saddr,eaddr):if get_wide_dword(i)0x01740275:print(hex(i),hex(get_wide_dword(i)))patch_byte(i-5,0x90)patch_dword(i-4,0x90909090)patch_dw…

插卡式仪器模块:数字万用表模块(插卡式)

• 6 位数字表显示 • 24 位分辨率 • 250 KSPS 采样率 • 电源和数字 I/O 均采用隔离抗噪技术 • 电压、电流、电阻、电感、电容的高精度测量 • 二极管/三极管测试 通道122输入 阻抗 电压10 MΩHigh-Z, 10 MΩ电流10 Ω50 mΩ / 2 Ω / 2 KΩ输入范围电压 5 V0–60 V电流…

【C语言】Leetcode-312 戳气球

文章目录 题目思路代码如下 题目 链接: Leetcode-312 戳气球 思路 我们观察戳气球的操作&#xff0c;发现这会导致两个气球从不相邻变成相邻&#xff0c;使得后续操作难以处理。于是我们倒过来看这些操作&#xff0c;将全过程看作是每次添加一个气球。 首先 我们需要创建一个…

卷积的计算过程

卷积的计算过程 flyfish 包括手动计算&#xff0c;可视化使用torch.nn.Conv2d实现 示例 import torch import torch.nn as nn# 定义输入图像 input_image torch.tensor([[1, 2, 3, 0, 1],[0, 1, 2, 3, 4],[2, 3, 0, 1, 2],[1, 2, 3, 4, 0],[0, 1, 2, 3, 4] ], dtypetorch.f…

springboot 3 oauth2认证this.authorizationService.save(authorization)生成token报错异常

springboot 3 oauth2认证this.authorizationService.save(authorization)生成token报错异常&#xff0c;使用springboot版本3.3.0。 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>&…