ABC334 A-F

打的很懒的一场B卡了D看不懂题卡了F没看完题目理解错题意了,状态好差XD

UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334) - AtCoder

A - Christmas Present

题意:

给出两个数B, G问哪个大

题解:

凑数语法题

void solve()
{int x, y;scanf("%d%d", &x, &y);if (x > y)printf("Bat\n");else printf("Glove\n");
}

B - Christmas Trees

题意:

有一根坐标轴,你需要在所有A+kM(k为任意整数)坐标种圣诞树,问区间L, R内有多少颗树

题解:

首先我们把L, R都减去A,问题就变成了在所有kM点种树,然后我们把L, R同时加上tM(t为整数)使L, R都大于0,然后答案就为 r / m - (l - 1) / m

void solve()
{LL a, m, l, r;scanf("%lld%lld%lld%lld", &a, &m, &l, &r);l -= a, r -= a;if (l < 0){LL t = (-l + m - 1) / m + 1;l += t * m, r += t * m;}printf("%lld\n", r / m - (l - 1) / m);
}

C - Socks 2

题意:

你有n双袜子,第i双袜子的颜色为i,有k双袜子缺了一只袜子,你需要重新组合这些袜子(可能会多余一只),使得每对袜子的颜色差值和最小

题解:

首先n没用,成对的袜子没必要拆开。若m为偶数,显然答案为\sum A_{i}-A_{i-1},i为2到n的所有偶数;若m为奇数,则先删掉一只变成偶数然后就是\sum A_{i}-A_{i-1}了,然后只有在删除第奇数个袜子时会更优,具体写法见代码...

int a[N], l[N], r[N];
void solve()
{int n, m;scanf("%d%d", &n, &m);for (int i = 1; i <= m; ++i)scanf("%d", &a[i]);if (m & 1){for (int i = 2; i <= m; ++i)l[i] = l[i - 2] + a[i] - a[i - 1];for (int i = m - 1; i >= 1; --i)r[i] = r[i + 2] + a[i + 1] - a[i];int ans = INF;for (int i = 1; i <= m; i += 2)ans = min(ans, l[i - 1] + r[i + 1]);printf("%d\n", ans);}else{int ans = 0;for (int i = 1; i <= m; i += 2)ans += a[i + 1] - a[i];printf("%d\n", ans);}
}

D - Reindeer and Sleigh

题意:

有N个雪橇,第i个雪橇需要Ri只驯鹿才能拉动,给出Q个询问,每个询问给出一个Xi表示询问Xi只驯鹿最多能拉动几只雪橇

题解:

肯定优先拉需要驯鹿数少的雪橇。排序,前缀和,对每个询问二分求最多拉多少个撬即可

LL s[N];
void solve()
{int n, q;scanf("%d%d", &n, &q);for (int i = 1; i <= n; ++i)scanf("%lld", &s[i]);sort(s + 1, s + 1 + n);for (int i = 1; i <= n; ++i)s[i] += s[i - 1];while (q--){LL x;scanf("%lld", &x);printf("%d\n", upper_bound(s + 1, s + 1 + n, x) - s - 1);}
}

E - Christmas Color Grid 1

题意:

给出一个H*W的字符串表,'.'表示红格子,'#'表示绿格子,当两个同种颜色的格子相邻(周围四格)时则他们联通。问我们随机把一个红格子染成绿格子之后联通块的期望数量(MOD998244353)

题解:

期望数量为 \sum连通块数量/红格子数量。先对修改前的图做并查集把相邻的同色块加入同一集合,对于染绿每个红点之后的连通块数量为红点周围四格的集合数量+1(手玩一下很容易得到)

PII p[N][N];
char mp[N][N];
int dx[] = { 0,0,1,-1 }, dy[] = { 1,-1,0,0 };
PII find(int x, int y)
{if (p[x][y] != make_pair(x, y))p[x][y] = find(p[x][y].first, p[x][y].second);return p[x][y];
}
void link(int ax, int ay, int bx, int by)
{PII pa = find(ax, ay);p[pa.first][pa.second] = find(bx, by);
}
LL qpow(LL x, LL y)
{x %= MOD;if (y == 0)return 1;if (y & 1)return qpow(x * x, y >> 1) * x % MOD;return qpow(x * x, y >> 1) % MOD;
}
void solve()
{int n, m, ans = 0;scanf("%d%d", &n, &m);for (int i = 1; i <= n; ++i){getchar();for (int j = 1; j <= m; ++j){mp[i][j] = getchar();p[i][j] = { i,j };}}for (int i = 1; i <= n; ++i){for (int j = 1; j <= m; ++j){if (mp[i][j] == mp[i][j + 1])link(i, j, i, j + 1);if (mp[i][j] == mp[i + 1][j])link(i, j, i + 1, j);}}for (int i = 1; i <= n; ++i){for (int j = 1; j <= m; ++j){if (mp[i][j] == '#' && find(i, j) == make_pair(i, j))++ans;}}LL sum = 0, cnt = 0;for (int i = 1; i <= n; ++i){for (int j = 1; j <= m; ++j){if (mp[i][j] == '.'){set<PII>st;for (int k = 0; k < 4; ++k){int tx = i + dx[k], ty = j + dy[k];if (mp[tx][ty] == '#')st.insert(find(tx, ty));}++cnt, sum += ans - st.size() + 1;}}}printf("%lld\n", sum % MOD * qpow(cnt, MOD - 2) % MOD);
}

F - Christmas Present 2

题意:

圣诞老人需要给N个人依次配送礼物,他的家位于SX, SY,需要配送的N个位置为Xi, Yi,他每次出门最多能一次性携带K件礼物,中途可以回家补货,送完还需要回家。问送完所有礼物的最短路径

题解:

DP,dp[i]表示给第i个送完礼物之后回家再到达第i+1个位置的最短路径,s[i]为不回家连着走到第i个位置的路径长度,记f(i)为从家到第i个人家的距离,则状态转移为dp[i]=min(dp[u]+s[i]-s[u+1]+f(i)+f(i+1)) (f(i)+f(i+1))为回家再到第i+1个人家的距离,可以用线段树或者单调队列优化(这里写的单调队列优化)

但是我的代码测样例3在小数点后第6位开始不相等了,交上去就直接对了,不知道为什么...

typedef long double LD;
PII operator-(PII x, PII y)//平面几何点都存向量会更便于计算
{return { x.first - y.first,x.second - y.second };
}
LD abs(PII x)
{return sqrt((LD)x.first * x.first + (LD)x.second * x.second);
}
PII a[N];
LD s[N], dp[N];
deque<int>q;
LD fun(int u, int v)
{return dp[u] + s[v] - s[u + 1];
}
void solve()
{int n, k;scanf("%d%d", &n, &k);for (int i = 0; i <= n; ++i)scanf("%d%d", &a[i].first, &a[i].second);for (int i = 1; i <= n; ++i)s[i] = s[i - 1] + abs(a[i] - a[i - 1]);a[n + 1] = a[0], dp[0] = s[1];for (int i = 1; i <= n; ++i){while (q.size() && i - q.front() > k)q.pop_front();while (q.size() && fun(q.back(), i) > dp[i - 1])q.pop_back();q.push_back(i - 1);dp[i] = fun(q.front(), i) + abs(a[i] - a[0]) + abs(a[i + 1] - a[0]);}printf("%.10Lf\n", dp[n]);
}

赛时做的好慢最后F读假题了然后题意读对之后没时间写了,G没看...

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

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

相关文章

华为笔记本matebook13_华为引领“第三代移动办公”新纪元 华为MateBook开启“智慧化办公”新赛道...

&#xfeff;运营商财经网 康钊/文移动互联网的快速兴起&#xff0c;让办公形式不再受时间、地点的限制&#xff0c;笔记本电脑、平板电脑、手机等承担生产力工具作用的电子设备也是越来越多样化&#xff0c;“移动办公”正成为一种不断演化市场趋势。然而&#xff0c;随着移动…

IPv4地址和IPv6地址的比较,IPv6地址及其表示

IPv4地址和IPv6地址的比较&#xff0c;IPv6地址及其表示 TCP/IP协议是互联网发展的基石&#xff0c;其中IP是网络层协议&#xff0c;规范互联网中分组信息的交换和选路。目前采用的IPv4协议地址长度为32位&#xff0c;总数约43亿个IPv4地址已分配殆尽。 IPv6是IP地址的第六版…

MySQL如何有效的存储IP地址

文章目录序言工具类实现转换数据库函数实现转换一、IP地址应该怎么存二、整数存储 IP 地址的查询性能实验1、测试范围查询&#xff1a;2、IP精确查询&#xff1a;3、整理一下结果发现&#xff1a;总结首先就来阐明一下部分人得反问&#xff1a;为什么要问IP得知怎样存&#xff…

ab753变频器参数怎么拷贝到面板_变频器怎么设置参数?变频器的基本参数设定...

电工学习网&#xff1a;www.diangon.com技术驱动未来&#xff0c;关注电工学习网官方微信公众号“电工电气学习”&#xff0c;收获更多经验知识。变频器在工业生产中应用及其重要&#xff0c;其除了调速&#xff0c;软启动作用外&#xff0c;最重要的是可以节能。变频器功能参数…

卢克增加服务器,DNF卢克跨区服务器崩溃?策划:暗制造者临时加入安图恩攻坚...

原标题&#xff1a;DNF卢克跨区服务器崩溃&#xff1f;策划&#xff1a;暗制造者临时加入安图恩攻坚DNF作为一款即时在线&#xff0c;2d网络游戏&#xff0c;决斗场系统延伸到早期60级版本组队刷图。玩家与玩家之间互动&#xff0c;即时刷图跨区&#xff0c;成为了阿拉德大陆一…

使用TortoiseGit(小乌龟)操作分支的创建

现在的我的github库上面只有一个master分支 由于是穷屌丝用不起mac&#xff0c;所以我windows为例进行相应的演示&#xff1a; 下图就是本地使用小乌龟的版本管理工具在只有一个分支的情况下执行命令&#xff1a;Switch/Checkout 显示的内容。 下面分为三个步骤进行创建分支操…

计算机丢失d3dcompile,电脑d3dcompiler43.dll文件丢失怎么办 文件丢失解决方法

最近有位用户私信给小编&#xff0c;说他在使用电脑的时候&#xff0c;电脑一直弹出丢失d3dcompiler43.dll文件的弹窗。就算是关闭&#xff0c;下次开机依旧会弹出这样的窗口&#xff0c;十分厌烦。那丢失电脑中的d3dcompiler43.dll文件应该怎么办呢&#xff1f;其实也不难&…

mybatis plus 导出sql_软件更新丨mybatis-plus 3.0.7 发布,辞旧迎新

点击右上方&#xff0c;关注开源中国OSC头条号&#xff0c;获取最新技术资讯Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件&#xff0c; 减少你的开发周期优化动态维护 XML 实体字段&#xff0c;无入侵全方位 ORM 辅助层让您拥有更多时间陪…

网站服务器怎么用手机登录不了怎么办,怎么打不开服务器列表了?

2011-04-19网页图片打不开是不是中毒呢&#xff1f;以前网页中没有图片、视频、动画、声音。打开IE选工具/Internet选项/高级/在设置的下拉列表&#xff0c;勾选“播放网页中的动画”“播放网页中的声音”“播放网页中的视频”“显示图片”(也可以直接选择高级中下面的“还原默…

ur机械臂 控制器_OnRobot末端执行器和统一接口已通过UR +计划认证

近日&#xff0c;OnRobot 宣布其One System Solution末端执行器和统一接口现已通过UR 计划认证&#xff0c;UR 计划对夹具等配件进行测试和认证&#xff0c;以便与Universal Robots A / S协作机器人手臂无缝配合使用。OnRobot在9月份发布了全系列的机械手和传感器&#xff0c;具…

xp系统打印机服务器设置,WinXP打印机纸张规格设置的方法

电脑的打印机是我们常常会使用的外部输出设备&#xff0c;虽说经常在用&#xff0c;但是关于它的很多问题还是不会&#xff0c;比如说怎么对打印机纸张规格设置&#xff0c;那么当你遇到这个问题不会的话&#xff0c;那就赶紧看看小编整理的WinXP打印机纸张规格设置的方法吧&am…

stm32的语音识别_基于stm32循迹避障语音控制金属探测蓝牙小车设计(原理图+pcb+源码+参考文档)...

功能描述及设计原理&#xff1a;小车具有检测里程功能&#xff0c;在金属探测模式&#xff0c;槽型光耦会检测小车车轮的圈数&#xff0c;以此来计算小车行走的里程&#xff0c;并可以通过OLED屏幕显示出来。还可以显示小车的工作模式以及小车距离前方障碍物的距离。》默认模式…

发明喂饭机器人_人类又懒出新高度,老美发明自动喂饭机器人,“君子”动嘴不动手...

近年来&#xff0c;各式各样的智能机器人层出不穷&#xff0c;多数都是为了方便人们的日常生活。近日&#xff0c;美国一机器人公司&#xff0c;为残障人士和重症疾病患者设计了一款智能喂饭机器人&#xff1a;Obi。这款机器人拥有全白的外观&#xff0c;它的机械臂可以将饭菜直…

中provide的用法_Vue中那些你不知道的作用域

作用域控制可以使用哪些变量以及在何处使用。它控制它们对应用程序的不同部分的“可见性”。了解 Vue 提供的作用域级别之间的差异会帮助我们编写更清晰的代码。下面是 vue 中4个级别的作用域&#xff1a;全局作用域子树作用域组件作用域实例作用域全局作用域Vue 应用程序中的全…

树叶贴画机器人_洪山广场举办“落叶节”,树叶树枝拼贴出冬日风景

楚天都市报11月30日讯(记者卢成汉 通讯员谢助全 彭雪琴)秋天飘落的树叶树枝&#xff0c;经过拼贴&#xff0c;变成了有趣的图案。29日&#xff0c;洪山广场举行的“落叶节”上&#xff0c;小学生们的树叶作品&#xff0c;拼贴成冬日的风景。当天&#xff0c;小学生们将在洪山广…

Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)

文章目录一、简介二、并发编程的3个基本概念1.原子性2.可见性3.有序性三、锁的互斥和可见性四、Java的内存模型JMM以及共享变量的可见性五、volatile变量的特性1.保证可见性&#xff0c;不保证原子性2.禁止指令重排六、volatile不适用的场景1.volatile不适合复合操作2.解决方法…

云服务器如何链接本地打印机_利用FileZilla搭建云服务器FTP服务端和本地客户端...

腾讯云服务器&#xff08;服务端&#xff09;本地计算机&#xff08;客户端&#xff09;1.首先在腾讯云上下载好FileZilla的对应服务端版本这里附上中文下载地址下载 - FileZilla中文网​www.filezilla.cn2.下载安装完成后打开默认下一步就好3.然后点击这个小头像进行账户设置首…

6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...

各位会员、导游同仁们&#xff1a;山西省导游协会电子导游证(生成日期为&#xff1a;2020年5月28日-2020年6月3日)已制作完成&#xff0c;为保障电子导游证发放工作顺利进行&#xff0c;现将发放电子导游证有关事项通知如下&#xff1a;一、领取人员手机&#xff21;&#xff3…

CAS和Synchronized知识

一. CAS 何为CAS。 CAS&#xff08;Compare And Swap &#xff09;是乐观锁的一种实现方式&#xff0c;是一种轻量级锁。JAVA1.5开始引入了CAS&#xff0c;JUC下很多工具类都是基于CAS。 CAS的实现方式 CAS有3个操作数&#xff0c;内存值V&#xff0c;旧的预期值A&#xff0…

自动设置图片的序号_编写学位论文时如何给表格和图片自动编号

引言最近和论文格式的检测系统斗智斗勇&#xff0c;可以说是摸清了系统的脾气并且能够把错误数控制在0。其中&#xff0c;论文正文的表格和图片自动编号的问题还是挺有意思的&#xff0c;特此记录一下。需求对于表格&#xff0c;系统要求表格题注处于表格*上方*&#xff0c;并按…