itr
  • 2024-04-15析构函数与 -O2 优化的一个问题
    在赋值时,我们需要先对原有对象调用析构函数。我的析构函数实现如下:~vector() { for(ptr*itr=begin_p;itr!=finish_p;itr++) { delete*itr; } delete[]begin_p; begin_p=nullptr;finish_p=nullptr;end_p=nullptr; }不使用-O2优化,程序运行正常,调用完析构函
  • 2024-04-11Qt 如何遍历序列容器(QVector|QMap|...)
    QT提供了两种风格的遍历器:Java和STL一、Java风格遍历器Java风格的遍历器是Qt首先推荐使用的形式。这种风格比起STL风格的遍历器更方便。方便的代价就是不如后者高效。Java风格的遍历器指向的是两个元素之间的位置,而不是指向元素本身。因此,它们可能会指向集合第一
  • 2024-03-21珂朵莉树ODT 模板
    构造set:structnode{intl,r;mutableintv;node(intl,intr,intv=0):l(l),r(r),v(v){}booloperator<(constnode&a)const{returnl<a.l;}};set<node>s;分裂set:autosplit(intpos){aut
  • 2024-03-13洛谷题单指南-线性表-P2234 [HNOI2002] 营业额统计
    原题链接:https://www.luogu.com.cn/problem/P2234题意解读:要计算每一天最小波动值的和,需要对每一天求最小波动值,再求和,如果暴力法,时间复杂度在1+2+3+......+32767≈5*10^8,可能会超时。解题思路:1、暴力法:由于本题测试数据比较水,实测暴力求解直接可以AC,由于没有技术含量,不做具体
  • 2024-03-11算法面试通关40讲 - 哈希表/映射
    1.两数之和#include<iostream>#include<unordered_map>usingnamespacestd;classSolution{public:vector<int>twoSum(vector<int>&nums,inttarget){vector<int>indices;unordered_map<int,decltype(nums.siz
  • 2024-03-042024 ICPC Asia Pacific Championship-K-线段树合并or主席树
    比赛链接:https://codeforces.com/contest/1938给一棵有根树,执行以下代码:letLbeanemptyarrayforx=1ton fory=1ton append((x-1)*n*n+(LCA(x,y)-1)*n+(y-1))toLsortLinnon-decreasingorder然后进行\(q\)次询问,每次问\(L\)中第
  • 2024-01-16CF610E
    简单题。想到怎么计数就结束了。重点就是怎么样计算循环次数。肯定是不能枚举一遍,双指针去数的。但是发现\(t\)有一个很好的性质:它是\([1,k]\)内字符的排列。说明每个字符在\(t\)中只会出现一次。然后发现,可以按照最长公共子序列那题类似的思路,根据\(t\)内字符的位置为
  • 2023-12-26P5350 序列
    题意维护一个序列:区间查询区间赋值区间加法区间复制区间交换区间翻转数据随机。Sol珂朵莉。前\(3\)个操作很\(trivial\)。考虑区间复制。先把两个区间\(split\)出来。然后扔进\(vector\),全部\(erase\)掉。再用\(vector\)\(insert\)进去。随便搞搞就过
  • 2023-12-19[SDOI2017] 树点涂色
    [SDOI2017]树点涂色题目描述Bob有一棵\(n\)个点的有根树,其中\(1\)号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。Bob可能会进行这几种操作:1x表示把点\(x\)到根节点的路
  • 2023-12-11[CF704E] Iron man
    题目链接树的情况不好做。先树剖,现在变成了链的问题。考虑对时间扫描线,会发现所有人的相对顺序变化的时候,就是有人相遇了。所以他的相对顺序可以用一个set维护。而将会相遇的人一定是插入时相对顺序相邻的人,可以check一下取个最小值。可以把时间线设成全局变量,这样就可以跑
  • 2023-11-223、QMap,QHash,QVector
    QMapQMap<Key,T>提供一个从类型为Key的键到类型为T的值的映射。形式为一个键对应一个值。按照键Key的次序存储数据。为了能够支持一键多值,QMap提供QMap<Key,T>::insertMulti()和QMap<Key,T>::values()的函数。//QMap类//1:创建Map实例,第一个参数为QString类型的键值,第
  • 2023-11-16柯学家——珂朵莉树 学习笔记
    柯学家——珂朵莉树学习笔记珂朵莉树(ChthollyTree),又名老司机树ODT(OldDriverTree)。起源自lxl的CF896CWillem,ChthollyandSeniorious。前置知识:std::set。思想将区间用set维护,每次对一个区间进行操作的时候,就将这个区间分离(split)出来。复杂度的保证依靠推平
  • 2023-08-27P2486 [SDOI2011] 染色 题解
    P2486[SDOI2011]染色神仙树剖题。题意给你一棵树,每个点都有颜色,支持下面两种操作:路径染色。路径颜色段数量查询。树剖部分我们看到树上问题,不好处理,所以想办法给他树剖搞一搞,给他转化成序列的操作。我们树剖就是正常的树剖,然后我们考虑如何维护这个颜色序列。我
  • 2023-08-26CF894 div3
    A.GifiCarpet给一个n行m列的字符矩阵,问能否找到四列,第一列中要有字符'v',第二列要有字符'i',第三列要有字符'k',第四列要有字符'a'.\(1<=n,m<=20\)题解签到题。#include<iostream>usingnamespacestd;chars[30][30];voidSolve(){ intn,m,a,
  • 2023-08-23珂朵莉树——优雅的暴力
    珂朵莉树引入珂朵莉树(ChthollyTree),又名老司机树(OldDriverTree)。起源于CF896C。这种想法的本质是基于数据随机的「颜色段均摊」,而不是一种数据结构。前置需要了解STL的set的基本用法。比如:insert(x) 当容器中没有等价元素的时候,将元素x插入到 set 中。er
  • 2023-07-13codeforces1283F
    题目链接sol:根一定是第一个,然后不太会,去看了洛谷题解题解#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<int,int>pii;#definefifirst#definesesecond#definefz1(i,n)for((i)=1;(i)<=(n);(i)++)#definefd1(i,n)for((i)
  • 2023-07-13codeforces1311E
    题目链接sol:先建一条链,然后把下面的点一个个往上面移,优先移到最上面,如果上面满了就往下一层,知道刚刚好凑满距离,如果最后不能移了就说明不能凑出给定的距离#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<int,int>pii;#definefifir
  • 2023-06-24变量语法强化
    声明强化在C++17之后,if语句可以像for循环语句一样,在括号里声明一个变量了。if(intx=5;x<10){x+=1;}//必然会执行初始化强化C++11引入了初始化列表这一概念,在C++11之前,普通数组,非常简单的类,都可以使用{}来初始化,而一般的类又要用其他的方式初始化,各种各样的初始
  • 2023-05-23珂朵莉树
    区间赋值的数据结构都可以骗分,在数据随机的情况下,复杂度可以保证。时间复杂度:O(nloglogn)structODT{ structnode{ intl,r; mutableLLv; node(intl,intr=-1,LLv=0):l(l),r(r),v(v){} booloperator<(constnode&o)const{returnl<o.l;} }; s
  • 2023-04-20455. 分发饼干
    假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果s[j]>=g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你
  • 2023-03-19cpp get map last element
    voidutil::print_map(conststd::map<int,std::string>&mp){std::cout<<get_time_now()<<",std::this_thread::get_id()="<<std::this_thread::get_id()<
  • 2023-03-05杂题小记(2023.02.24)
    杂题小记(2023.02.24)目录杂题小记(2023.02.24)更好的阅读体验戳此进入LG-P5251[LnOI2019]第二代图灵机题面SolutionCodeLG-P3765总统选举题面SolutionCodeUPD更好的阅读体
  • 2023-02-13Java-ArrayList.Itr类(Iterator的实现)
     本文转载自:Java-ArrayList.Itr类(Iterator的实现) 本文介绍java迭代器的实现之一,ArrayList类的迭代器实现本文示例代码如下publicstaticvoidmain(String[]args)
  • 2023-02-12Codeforces Round #851 (Div. 2)-F. XOR, Tree, and Queries-树、异或、并查集
    题目:https://codeforces.com/contest/1788/problem/F题解:(首先他和线性基没什么瓜系)想这个问题大概可以分成几个部分:1、很自然地考虑记\(p_x\)表示从根节点走到x路径
  • 2023-02-04面试
    java基础如何实现跨平台--jvm翻译奇迹马编译生成字节码文件,通过java虚拟机变成机器码不同系统可以设置自己的袭击JDK=JRE(环境)+Java工具+编译器+调试器JRE=JVM