当前位置:网站首页>【7.14】代码源 -【拆方块】【XOR Inverse】【连续子序列】【三角果计数】
【7.14】代码源 -【拆方块】【XOR Inverse】【连续子序列】【三角果计数】
2022-07-17 18:28:00 【ZhgDgE】
#501. 拆方块
题意:有 n n n 堆方块,第 i i i 堆方块由 h i h_i hi 个方块堆积而成。具体可以看样例。
接下来拆方块。一个方块称为内部方块当且仅当他的上下左右都是方块或者是地面。否则方块就是边界方块。每一次操作都要把边界方块拿掉。
问多少次操作之后所有方块会消失。
思路:最后剩下的肯定是底端的。然后发现某个底端方格的存活时间即为改方格到达空气的最短路。第 i i i 个到达第 j ( j ≤ i ) j(j\leq i) j(j≤i) 个顶端的路径为 w = i − j + a j w=i-j+a_j w=i−j+aj ,维护后两项极值即可。 ( j ≥ i ) (j\geq i) (j≥i) 同理。
AC代码:http://oj.daimayuan.top/submission/286915
#497. XOR Inverse
题意:给你一个有 n n n 个非负整数组成的数组 a a a ,你需要选择一个非负整数 x x x ,对数组 a a a 的每一个 a i a_i ai 与 x x x 进行异或后形成新的数组 b,要求 b b b 数组的逆序对个数最小,如果有多个 x x x 满足条件,输出最小的 x x x 。
题解:(01字典树/归并排序求逆序对) 代码源每日一题Div1 XOR Inverse
思路:首先需要知道 01 字典树是可以实现归并求逆序对的,因为它本身就是一个二叉搜索树,我们可以从根节点向下搜,求逆序对。假如我们需要对所有元素的某一位置反,那么相当于在字典树上的这一层的左右儿子子树互换。容易知道互换只影响当前层的贡献。
那么做法就是:求出每一位不置反和置反对逆序对数量做出的贡献,选数量最少的方式即可,因为置反是不会影响其他层的贡献。
AC代码:http://oj.daimayuan.top/submission/287292
顺便做了一道 01 trie 上的 DP
E. Xor Tree
题意:给定你一个长度为 n n n 的序列 a ( a i ≠ a j ) a(a_i\ne a_j) a(ai=aj) ,对于每个 i i i,它会向序列中的满足 a i ⊕ a j a_i\oplus a_j ai⊕aj( ⊕ \oplus ⊕代表异或)最小的 j j j连双向边,并且如果 j j j也向 i i i连了边,只算一条边。现在要让你删去序列中的一些数,使得最后形成的图是一颗树,输出最少需要删除几个数。
题解:题解 CF1446C 【Xor Tree】
题解 CF1446C 【Xor Tree】
思路:懒得写了。
AC代码:https://codeforces.com/problemset/submission/1446/164118190
#504. 连续子序列
题意:找出 a n a_n an 最长的连续子序列 b m b_m bm 并输出。这里的连续指的是 b i + 1 = b i + 1 b_i+1=b_{i+1} bi+1=bi+1 。
思路:类似于 LIS ,这里维护每一个数的最大 d p dp dp 值即可。
AC代码:http://oj.daimayuan.top/submission/286941
#505. 三角果计数
题意:给一个 n 个节点的树, 三角果定义为一个包含 3 个节点的集合, 且他们两两之间的最短路长度a, b, c能够构成一个三角形。
计算这棵树上有多少个不同的三角果。
思路:首先发现如果三点同时在一条简单路径上,必然不会是三角形。如果某个点是其他两点路径中的某点分叉出去的点(或者说是三个点中任意两点的路径不会经过第三点),即为三角形。
可以计算组成一条链的三元集合数量。我们对这种集合按照中间点分类,即枚举链的中间点,计算有多少个二元集合的路径会经过该点。dfs 即可。
边栏推荐
- 统计直播间的榜一信息,从这里起步
- Onvif protocol related: 4.1.3 WS username token method to obtain screenshot URL
- [pumpkin Book ml] (task2) mathematical derivation of linear model (least squares estimation, generalized Rayleigh quotient, maximum likelihood estimation, etc.)
- ArrayList underlying analysis
- Using the case statement will produce a latch condition
- Onvif protocol related: common class description
- Onvif protocol related: 4.1.1 WS username token method to obtain wsusernametokenbean
- Health prevention guide 3: health care
- 【腾讯蓝鲸】第七届 7·24 运维日节日祝福送上~ 快来许愿~
- (pc+wap) dream weaving template clothing dress website
猜你喜欢

JVM self study summary

C语言进阶——字符函数和字符串函数

(PC+WAP)织梦模板服装礼服类网站

XML modeling (easy to learn)

Google Earth Engine——1992—至今混合坐标海洋模型、水温和盐度(全球海洋数据集HYCOM)

Responsive Zhimeng template logistics and freight service website

ONVIF Protocol Related: 4.1.3 WS - username token Method get capture d'écran URL

Weekly summary (*65): planned output

【考研词汇训练营】Day 7 —— second,attract,current,collect,simple,communicate,vocation

Advanced C language -- custom type: structure enumeration Union
随机推荐
onvif協議相關:4.1.3 WS-Username token方式獲取截圖url
torch.utils.data.DataLoader说明
onvif协议相关:4.1.3 WS-Username token方式获取截图url
[pumpkin Book ml] (task2) mathematical derivation of linear model (least squares estimation, generalized Rayleigh quotient, maximum likelihood estimation, etc.)
onvif协议相关:3.1.1 Digest方式获取Authorization
Onvif protocol related: 2.1.1 get token in none mode
Supported metal organic framework zif-8 / graphene oxide hydrogen storage material | titanium dioxide /zif-8 composite | silicon dioxide @zif8 nano material
Three methods of realizing network request in pyodide
LeetCode 0117. Populate the next right node pointer II of each node
MySQL advanced (VI) introduction to four common uses of fuzzy query
如何优雅的升级 Flink Job?
Attachment handling of SAP Fiori
VMware imports ova/ovf virtual machine files
Metal organic framework material / polymer composite zif-8/p (TDA co HDA) | zinc oxide [email protected] (FE) composite nan
Attachment handling of SAP Fiori
【码蹄集新手村 600 题】float 与 double 的格式说明符
关于XML文件(七)- XML DTD
Use golang to correctly process the IP data of the five major Internet registration agencies
如何优雅的升级 Flink Job?
ssh无密钥登录