首页 > 其他分享 >思维题随想(一)

思维题随想(一)

时间:2023-11-29 15:56:58浏览次数:18  
标签:思维 支配 分治 leq 随想 dis

1. 洛谷 P9678 [ICPC2022 Jinan R] Tree Distance

一个套路:支配点对。在本题中的意思是,若 $x_1\leq x_2\leq y_2\leq y_1$ 且 $dis(x_2,y_2)\leq dis(x_1,y_1)$,那么 $(x_2,y_2)$ 就支配了 $(x_1,y_1)$,后者对答案一定没有贡献。

考虑点分治。设当前分治中心为 \(t\),分治子树内所有点到中心的距离为 \(d_x\),考虑某个点 \(i\),则只有满足 \(d_x\leq d_i\) 的 \(x\) 构成的集合 \(S\) 中 \(i\) 的前驱后继才可能是支配点对。

于是找出 \(d_x\) 后,按 \(x\) 升序/降序扫描,单调栈一下就行。然后对这 \(n\log n\) 个点对二维数点。

标签:思维,支配,分治,leq,随想,dis
From: https://www.cnblogs.com/hokarikanae/p/17865025.html

相关文章

  • 代码随想录-哈希
    242.有效的字母异位词https://leetcode.cn/problems/valid-anagram/description/classSolution{public:boolisAnagram(strings,stringt){if(s.size()!=t.size())returnfalse;inthash[26]={0};for(inti=0;i<s.size......
  • 函数性质的给出方式 | 思维导图
    ......
  • AtCoder 329. E - Stamp (搜索 + 思维
    importjava.util.Scanner;classMain{staticintn,m;staticStrings,t;staticStringBuilderox;/***思路:*思路的大门:题目要要求把x变成s,我们可以反过来,把s变成只有#的x,所以我们就有了思路*1.从前......
  • 代码随想训练营第四十二天(Python)| 0-1 背包基础、416. 分割等和子集
    [背包基础]题目:有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。1、二维方式解决背包问题classSolution:defsolve_bag(self,weight,value,bag_weight):......
  • 代码随想训练营第四十一天(Python)| 不同的二叉树搜索树
    96.不同的二叉搜索树1、关键点找出状态转移方程classSolution:defnumTrees(self,n:int)->int:#创建dp数组,dp[i]代表节点数为i的二叉搜索树数量dp=[0]*(n+1)#初始化数组dp[0]=1#遍历每个元素作为根节点......
  • 代码随想训练营第三十九天(Python)| 62.不同路径、63. 不同路径 II、343. 整数拆分
    62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:#dp[i][j]代表到达dp[i][j]有多少不同路径dp=[[0]*nfor_inrange(m)]#初始化foriinrange(m):dp[i][0]=1forjinra......
  • 代码随想录-链表
    203.移除链表元素https://leetcode.cn/problems/remove-linked-list-elements/description//***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):......
  • 心灵的三个功能:思维、情感和欲求
    心灵有三个功能,它们分别是思维、情感和欲求。思维负责思考这个世界是如何运转的,世界万物到底是什么,它解决的是“这些到底是什么”问的题,它赋予了我们所能接触到的万事万物的意义,世间万物因我们的思维才能映照在我们的内心。情感负责感受评估和感受思维的结果。当结果出来的时候,......
  • 代码随想录-数组
    704.二分查找https://leetcode.cn/problems/binary-search/description/classSolution{public:intsearch(vector<int>&nums,inttarget){intleft=0;intright=nums.size()-1;while(left<=right){......
  • 心理揭秘:情感对我们思维和行为的神奇影响
    情感是我们内心深处的力量,它们不仅能够影响我们的情绪,还能够对我们的思维和行为产生神奇的影响。让我们来揭开这些心理奥秘。首先,情感对我们的思维方式有着重要的影响。当我们处于积极的情绪状态时,比如喜悦、幸福或者兴奋,我们的思维更加积极向上。这种积极的情绪能够激发我们......