• 2024-09-28【C++】set与map
    一、什么是set、mapset和map是专门用来搜索的数据结构,是一种适合查找的容器,set和map的底层是二叉搜索树。*setset的声明:set<T>set中的相同元素只能存在一个。multiset(与set用法相同)可以存放多个相同元素。*mapmap的声明:map<T1,T2>map存储的匀速是pairmap中的与T1
  • 2024-09-23面向对象程序设计——mapの简析
    1.map的定义Key就是map底层关键字的类型,T是map底层value的类型,set默认要求Key⽀持⼩于⽐较,如果不⽀持或者需要的话可以⾃⾏实现仿函数传给第⼆个模版参数,map底层存储数据的内存是从空间配置器申请的。⼀般情况下,我们都不需要传后两个模版参数。map底层是⽤红⿊树实现,增删
  • 2024-09-14AtomicStampedReference
    概述An{@codeAtomicStampedReference}maintainsanobjectreferencealongwithaninteger"stamp",thatcanbeupdatedatomically.包含一个对象引用+一个int的戳(Stamp),能被原子更新;Implementationnote:Thisimplementationmaintainsstampedref
  • 2024-09-12【力扣16】最接近的三数之和
    16.最接近的三数之和-力扣(LeetCode)接近target:大于或小于两种情况。但是实际操作中只需考虑大于的情况,找到之后结果的前一个数也有可能是结果,进行比较(更新结果res)。第二种情况的实现依靠右指针的移动思路类似15对于每个j,找到一个最小的k,使得满足条件(j变大,k一定减小即k--)
  • 2024-09-11C++中的数组,字符串数组,pair数组
    1.C++中的字符串数组: 2.C++中的常量数组 这个constpair<int,string>valueSymbols[]定义了一个常量数组,数组中的每个元素都是一个pair<int,string>类型的对象。pair是C++标准模板库(STL)中的一个模板类,用于将两个值组合成一个单一的对象。在这个特定的例子中,pair的第一个
  • 2024-09-11P5279
    这个故事告诉我们,要全心全意赞美太阳。题解#include<bits/stdc++.h>usingnamespacestd;constunsignedlonglongmod=998244353;structdata{ intdp[3][3]; inlineint*operator[](constint&x){ returndp[x]; } data(){for(inti=0;i<3;i++)for(intj=0;
  • 2024-09-08C++ STL-Map容器从入门到精通详解
    1.简介Map也是一种关联容器,它是键—值对的集合,即它的存储都是以一对键和值进行存储的,Map通常也可以理解为关联数组(associativearray),就是每一个值都有一个键与之一一对应,因此,map也是不允许重复元素出现的。同时map也具备set的相关功能,其底层也会将元素进行自动排序。功能
  • 2024-09-052024.8.10模拟赛17
    模拟赛今天是七夕耶!哦,今天是七夕呀。。。T1Non-decreasing题目背景先拿部分分,当全正或全负时很显然,只需要\(n\)次操作:正:如果\(a_i\gta_{i+1},a_{i+1}\gets(a_i+a_{i+1})\)。负:如果\(a_i\lta_{i-1},a_{i-1}\gets(a_i+a_{i-1})\)。然后开始想有正有负的情
  • 2024-09-05【Moveit2】MoveGroupInterface设置目标姿态,然后创建一个计划到该姿态的运动路径,static_cast<bool>与std::make_pair函数用法
    PlanandExecuteusingMoveGroupInterface//CreatetheMoveItMoveGroupInterfaceusingmoveit::planning_interface::MoveGroupInterface;automove_group_interface=MoveGroupInterface(node,"panda_arm");//SetatargetPoseautoconsttarget_p
  • 2024-09-03CF773D Perishable Roads
    思路:注意到答案应该是链加上一串贡献相同的树的贡献,因为若\(a\tou\)的贡献比\(b\tou\)的贡献小,那么可以连\(b\toa\),答案会更优。那么有一个贪心思路,对于每个根,找到连向这个根的最短边,然后对于这条边的另一个端点,也找到连向这个端点的最短边,以此类推;很显然,这个假了。
  • 2024-09-02问题-解决方案对-《分析模式》漫谈24
    DDD领域驱动设计批评文集做强化自测题获得“软件方法建模师”称号《软件方法》各章合集“AnalysisPatterns”的第一章有这么一句:Itisanimportantformbecauseitsupportsthedefinitionofapatternas"asolutiontoaproblemincontext," adefinitionthat
  • 2024-09-02priority_queue自定义排序
    priority_queue自定义排序原文章地址,本文章仅作为学习记录https://www.cnblogs.com/shona/p/12163381.htmlpriority_queue本质是一个堆。头文件是#include<queue>关于priority_queue中元素的比较模板申明带3个参数:priority_queue<Type,Container,Functional>,其中Typ
  • 2024-09-01AtCoder Beginner Contest 368(ABC368)
    [ABC369C]CountArithmeticSubarrays题意:判断有多少个区间是等差数列(不能重排)。\(1\len\times10^5\)。思路:赛时看错题了,以为这个区间可以重排,卡了8min,小丑了。首先容易注意到,对于一个区间\([l,r]\),若其是等差数列,则这个区间的子区间\([l',r']\)肯定也是子序列,造成
  • 2024-08-29华为20240821笔试第一题笔记
    https://mp.weixin.qq.com/s?__biz=MzkyNTQ3NDAzNw==&mid=2247489703&idx=1&sn=96d3f883998b4bbb395dfc5f08906399&chksm=c02307cb0d07e5b4e7140350b08b20bd7b5ba950886d62a60f44af3bc6c070c1031827edc979&mpshare=1&scene=1&srcid=0821m7WJaqagZ
  • 2024-08-29P2825 [HEOI2016/TJOI2016] 游戏 与 P10945 Place the Robots
    本文中的机器人同炸弹,主要是题目描述不同,两道题目做法是本质相同的。思路:先说一下没有墙怎么办,那么当一个位置放了机器人之后,这个机器人所在的行和列是不能继续放置的。那么发现行和列几乎是独立的,考虑建二分图,若\((i,j)\)能放一个机器人,那么给\(i\toj\)建一条边。那么
  • 2024-08-28C# 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)
              在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。直线方程的形式直线的方程通常表示为 y=mx+b,其中 m 是斜率,b 是 y 轴截距。计算斜率
  • 2024-08-27八行代码解决字母异位词分组(49)
    leetcode题目链接 这道题利用hash表特性可以很轻松的解决。首先我们只需要给所有的字母异位词排序,那样的所有的字母异位词就会变成同一个词,拿这个词当键,插入hash表,而所有的字母异位词当值,这样打印出hash表所有的词就是最后的结果。代码如下classSolution{ public: v
  • 2024-08-27算法与数据结构——哈希表
    哈希表哈希表(hashtable),又称散列表,它通过建立键key与值value之间的映射,实现高效的元素查询。具体而言,我们向哈希表中输入一个键key,则可以在O(1)时间内获取对应的值value。除哈希表外,数组和链表也可以实现查询功能,他们的效率对比如下表:添加元素:仅需将元素添加至数组(链表)的尾部
  • 2024-08-25AtCoder Beginner Contest 368(ABC368)
    [ABC368F]DividingGame题意:有\(n\)堆石子,第\(i\)堆有\(a_i\)颗石子,每次可以拿走任意一堆石子数量任何数量的棋子,但是要保证拿走之后该堆的石子数量为原来的约数(不能不拿)。问是先手必胜还是后手必胜。\(n,a_i\le10^5\)。思路:发现与Nim游戏类似,且全局信息公开,状态
  • 2024-08-22candence allego 差分信号设置
    一、设置差分对1、Logic→AssignDifferential;2、依次点击要建立差分对的走线,并在DiffPairname处给差分对命名。二、差分规则Setup→Constraint→ConstraintManager,进入线束约束管理器,在线束约束管理器界面,左侧有一个WorksheetSelector,在WorksheetSelector里选择Phys
  • 2024-08-22CF924D Contact ATC
    思路:考虑函数\(\operatorname{F}(v_0)_i\)表示风速为\(v_0\)时,\(i\)到达原点的时间,易得:\[\operatorname{F}(v_0)_i=\frac{x_i}{v_i+v_0}\]则若\((i,j)\)满足条件,需要满足\(\operatorname{F}(v_0)_i\)与\(\operatorname{F}(v_0)_j\)的交点的横坐标在\([-m,m]\)间
  • 2024-08-11D - Square Pair
    原题链接题解多想几种暴力1.遍历所有数对:\(O(n^2)\)2.求有多少数对其乘积为平方数\(\to\)求有多少平方数能被数对乘积:\(O(n^2)\)3.如果两个数的乘积为平方数,代表他们的质因数,要么都是奇数,要么都是偶数:\(O(?)\)4.如果\(a\timesb\)是完全平方数,代表\(a\timesb\)
  • 2024-08-11Leetcode 热题100 - 155 最小栈
    Leetcode热题100-155最小栈1.题目描述2.解题思路3.代码实现(方法二)4.c++知识点用法1.题目描述155最小栈2.解题思路方法一:创建一个辅助栈min_stk用以存储当前元素相对应的栈中最小元素值;方式二:类似于方法一,使用pair<int,int>同时存储当前元素与其对应
  • 2024-08-11abc366
    E解题思路这题求的是满足\(\sum^n_{i=1}(|x-x_i|+|y-y_i|)\leqD\)的坐标\((x,y)\)的数目,由于是求和,所以\(x,y\)之间是相互独立的第一步,先分别求出满足\(\sum^n_{i=1}|x-x_i|\leqD\)和\(\sum^n_{i=1}|y-y_i|\leqD\)的\(sum_x\)和\(sum_y\),这两者是等价的第二步,对第一
  • 2024-08-062024MX-MF-DAY1-text题解
    T1【题目描述】有\(n\)个人按编号从\(1\)到\(n\)坐成一圈,即第\(i\in[1,n]\)个人右边是\(i+1\),第\(n\)个人右边的人是\(1\)。初始,每个人手上有\(m\)个球。随后,\(n\)个人按编号从小到大的顺序依次执行如下操作:把自己手中的球分成数量相同且尽可能多的三份,