ABC 362
模拟。
小技巧:用 pair
来处理类似问题很方便
题意: 给定三个不共线的点, 判断这三个点生成的三角形是否是直角三角形.
考虑向量法。把三个点两两相减找到构成三角形的三条边所对应的向量,然后用向量点乘的方法判断是否存在两条邻边垂直。
题意: 给定 个数对 , 问是否能构造 , 使得 , , 有 . 并给出构造方式.
性质:
-
首先发现令 时, 所得的和 必然最小.
-
同理令 时, 必然最大.
-
以性质 的条件为初始状态, 若干次进行操作“对于某个 满足 , 自增 ”, 可以使得 遍历 中的所有数.
因此,以下关系成立
能构造 , 使得
至于构造方式呢,直接模拟遍历过程即可
题意: 既有点权又有边权的单源最短路径. (权值非负)
对于一条完整的路径,我们把每一条边的终点的点权转到这条边上,就可以直接在边权上跑了。
比如说对于一条边 , , , 我们建边的时候这样建就行了:
add_edge(u,v,w+val[v]);
add_edge(v,u,w+val[u]);
然后直接 dijkstra
跑一遍就行了,注意不要忘了加上 的贡献。
题意: 给你 , 对于所有的 , 求出 中长度为 的等差数列的数量. (元素组成相同但位置不同算作不相同)
考虑 的 dp.
-
设 表示以第 个元素作为结尾时可以构造的长度为 公比为 的等差数列的个数.
-
先 枚举 , 然后可以从 刷表到
-
边界条件 , 刷表的同时赋值即可.
注意取模。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话