2021 年百度之星·程序设计大赛 - 初赛三
数字游戏
存在至少一种方案,当且仅当 min≤ave≤maxmin \le ave \le maxmin≤ave≤max 并且 min∗(n−1)+max≤ave∗n≤min+max∗(n−1)min * (n-1)+max \le ave * n \le min + max * (n - 1)min∗(n−1)+max≤ave∗n≤min+max∗(n−1)。
https://paste.ubuntu.com/p/NMXwPBWqBF/
网格路径
因为第一步只能从 (1,1)(1,1)(1,1) 走到 (1,2)(1, 2)(1,2) 或 (2,1)(2, 1)(2,1),所以不相交路径最多只有两条。我们可以用如下方法构造两条路径:
- 对于第一条路径,每次能向右走(走完以后可以顺利走到终点)就先向右走,不能向右走就向下走;
- 对于第二条路径,每次能向下走(走完以后可以顺利走到终点)就先向下走,不能向下走就向右走;
接下来判断一下这两条路径是否存在以及是否相交就可以啦!
https://paste.ubuntu.com/p/b76XRkk593/
虫族基地
分如下几种情况考虑:
- (1,1)(1, 1)(1,1) 被第一个虫族基地占领了;
- (n,m)(n, m)(n,m) 被第二个虫族基地占领了;
- 1 个虫族基地扩张,占领了完整的一列;
- 2 个虫族基地扩张,并且领地切断了所有 (1,1)(1, 1)(1,1) 到 (n,m)(n, m)(n,m) 的路径;
在这些代价中取最小值即可。
https://paste.ubuntu.com/p/HQrq6x6595/
环上游走
暴力 dfs就可以过啦(如果当前走到的格子之前没走到过,就继续走,否则就回溯)!
https://paste.ubuntu.com/p/KTPdKn6rCH/
怀旧游戏
用 f[i][j][k][l]f[i][j][k][l]f[i][j][k][l] 表示先手手上的数字是 i,ji, ji,j,后手手上的数字是 k,lk, lk,l 时,先手的胜负情况。初始先手必败的情况比较好处理(kkk 或 lll 是 0,意味着先手已经输了),接着反向 bfs,对于一个状态,如果它存在一个先手必败的后续状态,则这个状态先手必胜;如果它所有的后续状态都是先手必胜的,则这个状态先手必败。
对于无法确定胜负的状态,都是平局。
https://paste.ubuntu.com/p/M9KJzDCBZy/
消消乐
先处理完所有的终止状态(填满 8 个格子的不可以消除的状态),这些状态最后的期望得分都是 0。对于每个消完以后的状态 xxx(从初始的 8 个格子开始消,在新方块出现前的状态),我们可以枚举新方块的颜色情况,同时也知道了每种情况下消完以后的状态 yyy 是啥样,以及得到了多少分,同时我们也知道从 xxx 变成 yyy 的概率,我们把期望方程列出来,高斯消元即可。
https://paste.ubuntu.com/p/XtKPn9mwVC/
二叉树
用 f[i][j]f[i][j]f[i][j] 表示以 iii 为根的子树,这棵子树进出的点的数目为 jjj 时(jjj 可正可负,表示点是净移入还是净移出)在子树 iii 中花费的最小代价。对于每个 iii,由于它只能有 2 个儿子,所以我们需要再做一次背包来计算 fff。
https://paste.ubuntu.com/p/6z8VTF78rF/
数据结构
将区间视为平面上的点,如果一种颜色在区间内出现至少一次,需要考虑取答案对应的区间为:
- 区间内相邻两次出现之间。
- 区间左端点到区间内第一次出现。
- 区间内最后一次出现到区间右端点。
可以用扫描线加线段树解决。
https://paste.ubuntu.com/p/M2bmSqysgW/
2021 年百度之星·程序设计大赛 - 初赛三相关推荐
- [2019 年百度之星·程序设计大赛 - 初赛三]简要题解?
UPD:AC代码放上去了 前言 老年贤者选手终于记得打百度之星了 Orz mayaohua2003 题目链接 最短路 1 n⊕1n \oplus 1n⊕1 Code #include <cstd ...
- 2021 年百度之星·程序设计大赛 - 初赛二 1001 签到(找规律,快速幂)
solution 找规律 #include <iostream> #include <algorithm>using namespace std;const int mod = ...
- 2021 年百度之星·程序设计大赛 - 初赛二 1003 魔怔(并查集,联通性,欧拉回路)
problem solution 发现除了起点和终点,剩下所有点周围的边都会被恰经过偶数次,所以这些点初始连向了偶数条白边. 考虑由白边连接形成的图,每个连通块中度数为奇数的点一定为偶数个. 所以起点 ...
- 2021 年百度之星·程序设计大赛 - 初赛二 1005 水题(贪心结论)
problem solution 开始还以为是CF987E,但是奇偶性并不一样,,结果是个贪心乱搞..样例都没过交了能过,醉了. #include<bits/stdc++.h> using ...
- 2021 年百度之星·程序设计大赛 - 初赛二 1002 随机题意(区间贪心)
problem 随机题意 Accepts: 1411 Submissions: 3641 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32 ...
- 2021 年百度之星·程序设计大赛 - 初赛一 1001 :迷失(DP+Floyd快速幂优化)
迷失 Accepts: 221 Submissions: 1479 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 ...
- 2021 年百度之星·程序设计大赛 - 初赛一(1006/毒瘤数据结构题)
原题跳转 树状数组记录前 i 项1的个数,当前缀和query(i) == i时,说明前 i 项满足要求, 对于op == 1的情况,如果对应位置为0(sum[i] - sum[i - 1] == 0) ...
- 2020 年百度之星·程序设计大赛 - 初赛三-Discount
Discount Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...
- HDU 6114 Chess 【组合数】(2017百度之星程序设计大赛 - 初赛(B))
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- hdu6383(2018 “百度之星”程序设计大赛 - 初赛(B))
p1m2 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Sub ...
最新文章
- linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包
- 舍不得孩子套不着狼,早就应该换SSD硬盘了!
- 关于shared library的描述
- Leetcode 127. 单词接龙 解题思路及C++实现
- php编写开机启动脚本,设置 msyql php-fpm 开机自动启动脚本
- 周志华《机器学习》西瓜书出全新视频课啦!
- centos6.5装mysql好难_centos 6.5装mysql5.7
- 郭天祥的10天学会51单片机_第十二节
- STM32标准库驱动蜂鸣器
- 小谈工作面试 | 掘金技术征文
- sinx/cosx的泰勒展开式与库函数的比较
- python搬运youtube视频_使用Python将YouTube视频下载到某个目录
- 4k纸是几厘米乘几厘米_4k纸多大(4k纸有几张a4纸大)
- STM32F103 实现 简易闹钟小程序
- 响应式 BootStrap 媒体查询 栅格 组件 scss
- 注意力机制学习 BAM
- TexturePacker批处理python
- 图像增强及直方图均衡化在图像去雾上的应用(附matlab代码)
- 年产2万吨山楂酒工厂的设计-发酵工段及车间的设计(lunwen+任务书+cad图纸)
- PMP自学不报班5A通过经验总结(附PMBOK高清电子书完整书签)
热门文章
- 微软Bing翻译API的使用
- 【Themes for IntelliJ-based IDEs】Idea主题下载
- php 数字转换为货币,php中数字转换成货币格式实现代码
- 读书笔记3——《用户故事与敏捷方法》
- igm焊接机器人基本操作_焊接机器人技术讲解.ppt
- OpenCL编程实例: 向量计算
- abc类地址是如何划分的? (转)
- java方面的文献综述怎么写_java论文参考文献
- 《测绘综合能力》——地籍测绘
- linux按数量复制文件,linux下dd命令使用详解---用指定大小的块拷贝一个文件