ABC 327

2023-11-06 21:12
文章标签 abc 327

本文主要是介绍ABC 327,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

比赛传送门

A,B,C题太水了不想写了,G太难了不会
所以记录一下D,E,F

正文

———————————————————————————————————

D. Good Tuple Problem

题目传送门

解法1

建图跑 D f s Dfs Dfs ,判断是否为二分图
时间复杂度 O ( n ) O(n) O(n)
Code

解法2

带权并查集维护 相等或不相等关系
时间复杂度 O ( m log ⁡ n ) O(m\log{n}) O(mlogn)
Code

实测解法2要更优秀

———————————————————————————————————

E. Maximize Rating

题目传送门

解法

D P DP DP 算出每个 f ( i , j ) f(i,j) f(i,j) 表示考虑后 i i i 个总共已选 j j j 个并选了第 i i i 个 的最大值
答案就是枚举 每一个 f ( i , j ) f(i,j) f(i,j) 计算答案即可.
状态转移是 O ( n ) O(n) O(n)
总复杂度为 O ( n 3 ) O(n^3) O(n3) ,可以后缀 m a x max max 优化转移 , 然后就是 O ( n 2 ) O(n^2) O(n2) 的了.
Code

———————————————————————————————————

F. Apples

题目传送门

解法

扫描线一下就好了
具体来说就是对于 每个长度为 W W W 的区间,我们以其左端点建立线段树
按横坐标升序枚举点,加入合法点,删除不合法点,每次查询 全局最大值即可
Code

———————————————————————————————————

只会做水题的我

这篇关于ABC 327的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/359089

相关文章

js中怎样对“abc”进行MD5、sha256哈希计算?

在 JavaScript 中,可以使用 CryptoJS 库来进行 MD5 哈希计算。首先,你需要在 HTML 文件中导入 CryptoJS 库,例如: <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script> 然后,在 JavaScript 文件中,可

2024国赛数学建模ABC题思路模型

完整的思路模型请查看文末名片 完整的思路模型请查看文末名片 完整的思路模型请查看文末名片

【ZOJ】3881 From the ABC conjecture【暴力容斥】

传送门:【ZOJ】3881 From the ABC conjecture 复杂度大概 O(N0.67) O(N^{0.67}),我也不会算www,首先转换一下(我们是根据积性函数打表找规律得到的,也可以推出来)使得: g(N)=∏pi ϵ N(pia+1) g(N)=\prod_{pi~\epsilon ~N} (pi^a+1) 暴力展开发现贡献为: h(N)=

题解AtCoder ABC 358 F Easiest Maze

一道模拟题。 思路 最短的路线是直接竖着走下来,经过 n n n 个格子,所以 k k k 最小是 n n n。如果想要延长路线,可以采用九转大肠的形状,就像这样: 可以发现,每次向左走之后都必须走回来,所以每次新经过的格子数是偶数,得到 k − n k-n k−n 是偶数才有可行的方案。 首先,把整张图表的初始状态设为如下形式(即每个格点都是独立的): +++++S++o|o|o

面试算法题:三线程循环打印ABC

面试遇到三线程循环打印ABC的题目,当时没写出来,然后经过查阅,进行整理了一下。 1、题目 有A、B、C 三个线程,A线程 输出“A”,B线程 输出“B”,C线程 输出“C”,要求同时启动3个线程,按照顺序输出“ABC”,循环10次,请使用代码实现。 2、问题分析 A、B、C 三个线程;这表示我们要使用多线程同步,有人说了这不废话吗。是的,笔者只是想说,多线程的实现,有几种方式,①继承Th

[Algorithm][综合训练][小葱的01串][小红的ABC][不相邻取数]详细讲解

目录 1.小葱的01串1.题目链接2.算法原理详解 && 代码实现 2.小红的ABC1.题目链接2.算法原理详解 && 代码实现 3.不相邻取数1.题目链接2.算法原理详解 && 代码实现 1.小葱的01串 1.题目链接 小葱的01串 2.算法原理详解 && 代码实现 解法:滑动窗口 --> ⻓度固定的滑动窗⼝,要想符合要求,必定是⼀半⼀半的 选择区域的时候,仅需

ABC 368 G - Add and Multiply Queries

原题链接:G - Add and Multiply Queries 题意:给出数组a和b,三种操作,第一种:以 1 i x 的形式给出。用x替换ai​。第二种:以 2 i x 的形式给出。用x代替 bi​ 。第三种:以3 l r的形式给出,初始值为0,从l到r每个位置上可以选择加上a[i],或者乘上b[i],输出最大值。 思路:链表+set+树状数组+二分。题目中给出了答案的范围不会超过1e1

abc 366 E+F(曼哈顿距离 x y 两个坐标分别计算)(贪心+01背包)

E题: 题意:给定的 xi yi 。求有多少点 到给人 若干定点 的曼哈顿距离 和 小于等于D. 因为D 最大时 1e6,-1e6<=xi<=1e6。 所以 可能的 点 的 x 的范围是 [-2e6 2e6] 同理 y 的 范围 一样。 将 x y 分开讨论。 我们可以枚举 某个x 的 个数,找到合法的y 的个数。两者相乘。相乘之后的值累加起来。就是结果。 碰到绝对值,利用排序,来消除绝对值。

反编译二进制格式的方舟字节码abc文件

本文记录如何反编译hap包中的adc文件 ## 1.解压hap包获取adc文件 首先解压想反编译的hap包 ![image.png](https://dl-harmonyos.51cto.com/images/202408/115e46215f48634a34d70998996790588e6c60.png?x-oss-process=image/resize,w_820,h_956) 解压

Codeforces Round #327 (Div. 1) E. Birthday【AC自动机+网络流】

先用AC自动机处理子串的问题 建立AC自动机,在上面标记出这个位置含有的串( num[v] num[v])以及维护fail指针含有的串( last[v] last[v])。 这是简单的处理,和沈阳站的B题简直异曲同工。 然后形成了一个DAG图,再用floyd算法将维护出整个DAG图。 用网络流Dinic处理最大独立集的问题,胡伯涛的论文有提及二分图的最大独立集做法。将DAG拆点转化为二分图