AtCoder ABC170

D - Not Divisible

从小到大排序,有相同数不计入,暴力计算

// atcoder.cpp : 
//
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <map>
#include <set>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <vector>
#include <regex>
#include <queue>
#include <climits>
using namespace std;typedef pair<int, int> pii;
typedef long long LL;
typedef vector<int> vi;int n;
int a[200020];
bool h[1000010];int main()  
{//freopen("in.txt", "r", stdin);scanf("%d", &n);for (int i = 0; i < n; ++i)scanf("%d", a + i);map<int, int> cnt;for (int i = 0; i < n; ++i) {cnt[a[i]] += 1;}set<int> bs;for (auto it : cnt) {if (it.second == 1) {bs.insert(it.first);}}sort(a, a + n);int ans = 0;for (int i = 0; i < n; ++i) {if (bs.count(a[i]) != 0) {int j = 1, t = a[i];int ok = 1;while (j * j <= t) {if (t % j == 0) {if (h[j]) {ok = 0;break;}if (h[t / j]) {ok = 0;break;}}j += 1;}ans += ok;}h[a[i]] = 1; }printf("%d\n", ans);
}

E - Smart Infants
模拟题,使用stl中的multiset就可以
维护幼儿园的最大堆,以及总体的最小堆

// atcoder.cpp : 
//
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <map>
#include <set>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <vector>
#include <regex>
#include <queue>
#include <climits>
using namespace std;typedef pair<int, int> pii;
typedef long long LL;
typedef vector<int> vi;multiset<int> top;
multiset<int, std::greater<int>> kin[200010];int n, q;
int a[200010];		// 记录val
int g[200010];		// 记录每个孩子的kinint main()  
{//freopen("in.txt", "r", stdin);scanf("%d%d", &n, &q);for (int i = 0; i < n; ++i) {int x, y;scanf("%d%d", &x, &y);kin[y].insert(x);a[i] = x;g[i] = y;}for (int i = 1; i <= 200000; ++i) {if (kin[i].size() > 0) {auto bg = kin[i].begin();top.insert(*bg);}}for (int i = 0; i < q; ++i) {int c, d;scanf("%d%d", &c, &d);c--;int v = a[c], k = g[c];auto p = kin[k].find(v);int t = *kin[k].begin();kin[k].erase(p);				// erase 迭代器只删除一个// 不能用erase(v)// 维护topif (kin[k].size() == 0 || *kin[k].begin() != t) {auto p1 = top.find(t);top.erase(p1);if (kin[k].size() != 0) {top.insert(*kin[k].begin());}}g[c] = d;t = -1;if (kin[d].size() > 0) {t = *kin[d].begin();}kin[d].insert(v);if (t == -1) {top.insert(*kin[d].begin());}else if (*kin[d].begin() != t) {auto p2 = top.find(t);top.erase(p2);top.insert(*kin[d].begin());}printf("%d\n", *top.begin());}return 0;
}

F - Pond Skater
BFS ,采用dist数组标记,如果已经预先访问到了,而且计算得到的步数是相同的,那么就break,不需要再浪费后面的步数去计算

// atcoder.cpp : 
//
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <map>
#include <set>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <vector>
#include <regex>
#include <queue>
#include <climits>
using namespace std;typedef pair<int, int> pii;
typedef long long LL;
typedef vector<int> vi;int n, m, k;
int bx, by, ex, ey;
vector<vi> mat;
vector<vi> dist;
char s[1000200];
int dirs[4][2] = { {0, 1}, {1, 0}, {-1, 0}, {0, -1} };
const int INF = 1 << 30;int main()  
{//freopen("in.txt", "r", stdin);scanf("%d%d%d", &n, &m, &k);scanf("%d%d%d%d", &bx, &by, &ex, &ey);bx--, by--, ex--, ey--;for (int i = 0; i < n; ++i) {scanf("%s", s);vi vec;vi temp(m, INF);dist.push_back(temp);for (int j = 0; j < m; ++j) {if (s[j] == '.')vec.push_back(0);elsevec.push_back(1);}mat.push_back(vec);}queue<pii> qu;qu.push(pii(bx, by));dist[bx][by] = 0;while (!qu.empty()) {pii top = qu.front();int x = top.first, y = top.second;qu.pop();for (int j = 0; j < 4; ++ j) {for (int i = 1; i <= k; ++ i) {int nx = x + dirs[j][0] * i, ny = y + dirs[j][1] * i;if (nx >= 0 && nx < n && ny >= 0 && ny < m) {if (mat[nx][ny] == 1)break;if (dist[nx][ny] <= dist[x][y])break;if (dist[nx][ny] > dist[x][y] + 1) {qu.push(pii(nx, ny));dist[nx][ny] = dist[x][y] + 1;}}}}}if (dist[ex][ey] == 1 << 30) {printf("-1\n");}else {printf("%d\n", dist[ex][ey]);}return 0;
}

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

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

相关文章

【数据结构和算法】到达首都的最少油耗

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 三、代码 四、复杂度分析 前言 这是力扣的2477题&#xff0c;难度为中等&#xff0c;解题方案有很多种&…

Interpretable Multimodal Misinformation Detection with Logic Reasoning

原文链接 Hui Liu, Wenya Wang, and Haoliang Li. 2023. Interpretable Multimodal Misinformation Detection with Logic Reasoning. In Findings of the Association for Computational Linguistics: ACL 2023, pages 9781–9796, Toronto, Canada. Association for Computa…

前后端验证码分析(字母计算)

样式&#xff1a; 前端&#xff1a; login.vue <template> <view class"normal-login-container"> <view class"login-form-content"> <view class"input-item flex align-center"> <view class"iconfont ic…

【Android】解决安卓中并不存在ActivityMainBinding

安卓中并不存在ActivityMainBinding这个类&#xff0c;这个类是在XML布局的最外层加入就会自动生成。但是你在最后绑定主布局时会报错获取不到根节点getRoot(). 最好的办法就是&#xff0c;删除原来的最外层节点&#xff0c;再重新添加&#xff0c;感觉是因为复制时并没有让系…

基于阿里云服务网格流量泳道的全链路流量管理(一):严格模式流量泳道

作者&#xff1a;尹航 概述 灰度发布是一种常见的对新版本应用服务的发布手段&#xff0c;其特点在于能够将流量在服务的稳定版本和灰度版本之间时刻切换&#xff0c;以帮助我们用更加可靠的方式实现服务的升级。在流量比例切换的过程中&#xff0c;我们可以逐步验证新版本服…

人工智能时代AIGC绘画实战

系列文章目录 送书第一期 《用户画像&#xff1a;平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

编译WSL内核,用于操作usb读卡器

wsl2默认不能操作usb读卡器&#xff0c;但是对于嵌入式linux开发来说&#xff0c;需要经常对tf卡进行操作&#xff0c;随时都会使用到usb读卡器的访问。下面讲述如何开启wsl2的usb读卡器的访问&#xff0c;主要涉及到以下2个步骤&#xff1a; wsl2本质是一个虚拟机&#xff0c…

面试问题--文件IO

文件 I/O 操作在 C 语言中的使用 在 C 语言中&#xff0c;文件 I/O&#xff08;Input/Output&#xff09;操作是处理文件的重要部分。本文将介绍一些常见的文件 I/O 操作及其使用示例。 打开和关闭文件 1.打开文件&#xff1a; fopen() 函数用于打开一个文件。 FILE *fpt…

Postman关闭自动更新程序

Postman 是目前使用到的最简洁的一个 api 测试工具&#xff1b;但是自动 v10.14 版本开始&#xff0c;分组管理功能必须登录才能使用&#xff0c;而国内登录有存在很多问题&#xff1b; 解决方案 从v10.14版本开始&#xff0c;使用分组功能必须登录&#xff0c;而在 v10.14 之…

fastadmin列表文字显示太长,设置宽度和鼠标停留显示文字

直接在对应的js中字段中显示&#xff1a; {field: remark, title: __(Remark), operate: false,formatter : function(value, row, index, field){return "<span styledisplay: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; title" ro…

C++作业5

完成沙发床的多继承&#xff08;有指针成员&#xff09; 代码&#xff1a; #include <iostream>using namespace std;class Bed { private:double *money; public:Bed(){cout << "Bed::无参构造函数" << endl;}Bed(double money):money(new doub…

【Latex笔记】标题页

整体结构 模板结构如下&#xff1a; \documentclass{book} % 导言区&#xff0c;加载宏包和各项设置&#xff0c;包括参考文献、索引等 \usepackage{makeidx} % 调用makeidx 宏包&#xff0c;用来处理索引 \makeindex % 开启索引的收集 \bibliographystyle{plain} % 指定参考…

通过软骨鱼SaaS打造高效跨境独立站托管平台

在互联网信息爆炸的今天&#xff0c;拥有一个专属的独立站点是每个跨境商家的需求。然而&#xff0c;传统的跨境建站服务常常因为复杂的操作和高昂的成本而让人望而却步。 那么&#xff0c;有没有一种方式&#xff0c;可以让我们快速、便捷、低成本地实现跨境建站呢&#xff1…

010 数据结构_红黑树

前言 本文将会向你介绍红黑树的概念、性质&#xff0c;以及如何手撕红黑树 1 文章重点 文本首先引入红黑树的概念和性质&#xff0c;性质非常重要对于后面的插入操作来说&#xff0c;文章的核心放在了插入部分&#xff0c;另外看插入部分之前记得看声名和节点的定义哦~ 2 引…

嵌入式门槛高吗?

今日话题&#xff0c;嵌入式门槛高吗&#xff1f;在嵌入式领域&#xff0c;门槛因公司和职位的不同而异。普通的嵌入式岗位门槛相对较低&#xff0c;通常要求掌握一些C语言编程和单片机相关知识&#xff0c;可以制作简单的电子产品&#xff0c;但相应的工资较低。然而&#xff…

解决Flutter运行报错Could not run build/ios/iphoneos/Runner.app

错误场景 更新了IOS的系统版本为最新的17.0, 运行报以下错误 Launching lib/main.dart on iPhone in debug mode... Automatically signing iOS for device deployment using specified development team in Xcode project: GN3DCAF71C Running Xcode build... Xcode build d…

PG 常用维护性 SQL

文章目录 查看哪些角色对表有增删改查权限查看哪些角色对函数有执行权限根据序列名获取表及列信息查看postgresql数据库用户系统权限、对象权限查看所有主键及其相关字段信息查看 排除主键索引之外的 其他所有唯一性约束与唯一索引给 data 用户授予 create publication 权限统计…

典型的ETL使用场景

典型的ETL使用场景 ETL( Extract&#xff0c;Transform&#xff0c;Load)是一种用于数据集成和数据转换的常用技术。它主要用于从多个数据源中提取数据&#xff0c;对数据进行清洗、转换和整合&#xff0c;最后加载到目标系统中。ETL 的使用场景非常广泛&#xff0c;下面将介绍…

力扣labuladong一刷day28天二叉树

力扣labuladong一刷day28天二叉树 文章目录 力扣labuladong一刷day28天二叉树一、104. 二叉树的最大深度二、144. 二叉树的前序遍历三、543. 二叉树的直径 一、104. 二叉树的最大深度 题目链接&#xff1a;https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 思路&a…

R语言中如何改变表格数据的填充顺序

#搬运过来的&#xff0c;看不懂请看原出处 原作者&#xff1a; 熊荣川 六盘水师范学院生物信息学实验室 xiongrongchuan126.com http://blog.sciencenet.cn/u/Bearjazz 通常在R语言中矩阵&#xff08;表格&#xff09;数据的填充默认顺序为先列后行&#xff0c;从左到右。…