- 2024-10-21NOI2024 D1T1 - 集合 题解
观察我们称\(x\)在一段序列中的“位置集合”为\(x\)出现的下标的集合。注意到,两段序列能够匹配,当且仅当两段序列的\(1\simm\)中的数的位置集合构成的多重集相等。快速比较集合,考虑哈希。哈希先实现一个从整数到整数的哈希\(f(x)\)。使用这个哈希的目的是为了提高随机
- 2024-10-17模板-整型哈希hval
可以考虑将单个int类型映射成3个uint64,再执行加减操作,从而实现将多个int的集合最终映射成3个uint64,通过比较这3个uint64是否相等来快速判断集合是否相同。由于加法满足交换律,与顺序无法,因此上述做法天然支持多重集合。对于单重集合,可以考虑再加个set维护当前插入了哪些元素,已经有
- 2024-10-08《如 何 速 通 一 套 题》14.0
邮寄核爆赛,拿完暴力走人了......A(由于题目名称为“我是A题”所以省略,下同)我们处理掉整个整个的\(A\timesB\)的面,然后从上往下倒序枚举C。当枚举到一个C时,我们把这个C独有的贡献加上去(这就是为什么要倒序枚举C)。由于本题数据太水,暴力可过。理论上可以线段树优化,但
- 2024-09-22abc367F 判断区间构成的多重集合是否相同
给定长度为N的两个数组A[i]和B[i],有Q组询问,每次给定(l[i],r[i],L[i],R[i]),问由A[l[i]]A[r[i]]构成的multiset,与B[L[i]]B[R[i]]构成的multiset是否相同?范围:1<=N,Q<=2E5,1<=A[i],B[i]<=N,1<=l[i]<=r[i]<=N,1<=L[i]<=R[i]<=N分析:将int映射为u64,因为集合不区分先后,而加法满足交换
- 2024-08-07; 每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日
;每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日 ;每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日;测试环境:AutoHotkey_1.1.37.02_Setup.exe&Win
- 2024-07-160189-输出 PPM 图片
环境Time2022-11-14WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标编写一个简单的程序,输出一张.ppm格式的图片并查看。ppm格式ppm是一种用ascii字符来表示图片的方式。具体内容参考:https://zh.
- 2024-07-160190-定义三维向量
环境Time2022-11-14WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标将之前定义的三种颜色,封装到一个三维的向量中,保持原有的逻辑不变。main.rsusecrate::vector3::Color;modvector3;fnmain(){
- 2024-07-05rust学习 day1
边读rust程序设计这本书边写代码。今天主要和cargo(换源,包提速),以及actix-web这个库(版本不兼容)鏖战。清华的源也太慢了,换了中科大的才搞定。书里的actix-web版本太落后了,编译通过不了,换了actix-web4.0然后参考官方指南:https://actix.rs/docs/getting-started/,才编译成功。usea
- 2024-07-05rust学习 day2
搞了搞基本的并发。照着书上写了个曼德博绘图器。写起来真麻烦,里三层外三层。useactix_web::{web,App,HttpResponse,HttpServer};useserde::Deserialize;#[actix_web::main]asyncfnmain(){println!("Servingonhttp://127.0.0.1:3000");HttpServer::n
- 2024-02-27快速模
https://www.luogu.com.cn/paste/8s8f62vl#include<bits/stdc++.h>#definelllonglong#definemxn200003#definepbpush_back#definemkpmake_pair#defineldlongdouble#defineumapunordered_map#definerep(i,a,b)for(inti=a;i<=b;++i)#define
- 2023-11-10min25筛的常数优化&“多记一维”的艺术
前置知识:min25筛,即你要用min25筛通过板子题,不管写成啥样,不管常数多大,但是你要了解一点min25。没有特殊说明的话有如下记号(大部分记号与oi-wiki一致):\(x/y=\lfloor\frac{x}{y}\rfloor\)\(\text{P}\)为素数集合,\(p_k\)表示第\(k\)小素数。特别地,令\(p_{0}=1\)。\(\t
- 2023-10-05prime table
1structPt{2v:Vec<u64>,3}45implPt{6fnnew(t:u64)->Pt{7Pt{8v:vec![2],9}10.fill(t)11}12fnfill(mutself,n:u64)->Self{13letmuti=*self.v.la
- 2023-09-12Codeforces Round 897 (Div. 2)
F.MostDifferentTree当\(n=2\)时,只能构造一条长度为\(2\)的链。当\(n\ge3\)时,对于\(i\)\((1\lei\len)\),以\(i\)作为根的树记为\(h_i\),考虑枚举树找一个大小为\(s\)的树\(t\),使得不存在任何一个\(h_i=t\),且\(s\)尽可能小,然后从\(1\)连一条链到该数的根
- 2023-07-01【WALT】update_window_start() 代码详解
目录【WALT】update_window_start()代码详解代码展示代码逻辑【WALT】update_window_start()代码详解代码版本:Linux4.9android-msm-crosshatch-4.9-android12代码展示staticu64update_window_start(structrq*rq,u64wallclock,intevent){ s64delta; intnr_window
- 2023-02-17Rust u8数组转u64
fnas_u64_le(u:&[u8])->u64{((u[0]asu64)<<0)|((u[1]asu64)<<8)|((u[2]asu64)<<16)|((u[3]asu64)<<24)|((u[4]asu6
- 2022-12-30操作系统实战45讲00012
你好,我是LMOS。经过前面那么多课程的准备,现在我们距离把我们自己操作系统跑起来,已经是一步之遥了。现在,你是不是很兴奋,很激动?有这些情绪说明你是喜欢这门课程的。接下来
- 2022-10-30G502滚轮左右滚动调节音量
#NoTrayIcon;强制以ANSI版本管理员权限运行runwith("admin","A")WheelLeft::Send{Volume_Down}returnWheelRight::Send{Volume_Up}return;强制改权限RunW
- 2022-10-25BZOJ 3097(Hash Killer I-哈希%u64的不可行)
3097:HashKillerITimeLimit: 5Sec MemoryLimit: 128MBSec SpecialJudgeSubmit: 76 Solved: 34[Submit][Status][Dis
- 2022-10-14猫猫回收站图标
文件下载:https://wwz.lanzouw.com/i1GLR05yy2mdRunWith("admin")Gui,Add,Picture,w300h-1,bitbug_favicon(3).icoGui,Add,Picture,x300y5w300h-1,bitb
- 2022-09-28如何划分与组织内存(上)?
1)本节我们要接触内存了,那我们用最通俗的语言来类比操作系统和内存的关系应该是怎样的?操作系统是政府,内存是土地。政府必须合理规划好土地,人民才能安居乐业。2)既然要规划内存