草庐IT

「题解」火神之友

(火神:爷究竟交了些什么冤种……)原题目链接:link「我的做题历程」:step1:观察题面。  「他的好朋友风神给他一个有N个自然数的数组,然后对他进行Q次查询。每一次查询包含两个正整数\(L,R\),表示一个数组中的一个区间\([L,R]\),火神需要回答在这个区间中有多少个值刚好出现\(2\)次」,对于这种单点修改区间查询(但此处是对区间元素种类总数的查询),自然是想到树状数组,当然也有可能是莫队。(对于目前所学而言,题型:树状数组)step2:思考解法。  先从最简单的想起。假如数组元素全部相同的话(默认枚举指针为\(i\))。  (就像酱紫↓)  随着区域左指针不变,右指针从左往右遍

FHE学习笔记 #1 部分抽象代数名词

参考教材:邓少强,朱富海:《抽象代数》,北京,科学出版社,2017年文章使用wolai编写并导出,在wolai中观看效果更好,有颜色高亮和实时更新群Group对于非空集合\(G\),\(\circ\)是它的一个代数运算,如果满足以下条件:结合律成立,即对\(G\)中任意元素\(a,b,c\)都有\[(a\circb)\circc=a\circ(b\circc)\]\(G\)中有元素\(e\),叫做\(G\)的左单位元,它对\(G\)中每个元素\(a\)都有\[e\circa=a\]对\(G\)中每个元素\(a\),在\(G\)中都有元素\(a^{-1}\),叫做\(a\)的左逆元(Invers

[UUCTF] 2022新生赛wp - MiscAK - S1gMa

2022UUCTF新生赛wpbyS1gMa前言\(misc\)本以为\(ak\)了,结果比赛结束前又来一道阴间社工,所以直接无视就当\(ak\)了~就拿了2个一血有点可惜.....Whereisflag?知识点1.文件分离;2.\(PNG\)文件头补全;3.零宽隐写。解题过程分析流量包发现存在压缩包,故直接拖到\(kali\)中分离,得到一个Whereisflag?的文件,用\(winhex\)分析发现是个缺少文件头的\(PNG\),补全后是一个二维码,扫描后零宽解密得到\(flag\)。搬好小板凳听故事知识点1.base64;2.十六进制转字符串。解题过程直接\(base64\)解密,然后十

数论合集

数论合集\(Part\)\(1\):裴蜀定理定理:对于任意整数\(a,b\),记\(\gcd(a,b)=d\),则对于所有整数\(x,y\),都有\(d|ax+by\),特别的,一定存在整数\(x,y\)使得\(ax+by=d\)。证明:因为\(d=gcd(a,b)\),所以有\(a\equivb\equiv0\pmodd\),所以\(ax+by\equiv0\timesx+0\timesy\equiv0\pmodd\),所以\(d|ax+by\)。记所有\(ax+by\)的集合为\(S\),设\(w=ax_1+by_1\)是\(S\)中的最小正值,则有\(w\ged\);对于所有\(u=ax

「题解报告」[POI2008]PER-Permutation

「题解报告」[POI2008]PER-Permutation点击查看目录目录「题解报告」[POI2008]PER-Permutation思路代码不理解哪里难了,学过扩卢并且推一下式子基本就是两眼切吧。个人感觉顶多上位紫。思路首先设\(f_i\)表示前\(i-1\)位固定,第\(i\)位选一个比原来小的,后面随便排的方案数。显然\((\sum_{i=1}^{n}f_i)+1\)为答案,那么考虑如何快速求出\(f_i\)。考虑用“交换”的思想,即在后\(n-i\)个数中找到比\(a_i\)小的数和它换一下,然后再随便排。然而这里是可重集,所以还要去重乘上\(\dfrac{1}{\prod_{j}(

复杂度分析

复杂度复杂度分析是数据结构与算法的核心精髓,指在不依赖硬件、宿主环境、数据集的情况下,粗略推导,考究出算法的效率和资源消耗情况,包括时间复杂度和空间复杂度时间复杂度首先从CPU的角度看待程序,每行代码执行的操作都包括:读程序,写程序,运算。这里粗略估计,忽略每行代码读程序和写程序的时间假设每行代码执行(运算)的时间都是一样的,为单位时间(即假设程序执行一次均消耗单位时间)大\(O\)记号\[T(n)=O(f(n))\]其中:\(T(n)\):程序执行总时间\(n\):数据规模大小\(f(n)\):程序执行的总次数\(O\):程序执行总时间\(T(n)\)与\(f(n)\)成正比大\(O\)记号

「题解」火神之友

(火神:爷究竟交了些什么冤种……)原题目链接:link「我的做题历程」:step1:观察题面。  「他的好朋友风神给他一个有N个自然数的数组,然后对他进行Q次查询。每一次查询包含两个正整数\(L,R\),表示一个数组中的一个区间\([L,R]\),火神需要回答在这个区间中有多少个值刚好出现\(2\)次」,对于这种单点修改区间查询(但此处是对区间元素种类总数的查询),自然是想到树状数组,当然也有可能是莫队。(对于目前所学而言,题型:树状数组)step2:思考解法。  先从最简单的想起。假如数组元素全部相同的话(默认枚举指针为\(i\))。  (就像酱紫↓)  随着区域左指针不变,右指针从左往右遍

FHE学习笔记 #1 部分抽象代数名词

参考教材:邓少强,朱富海:《抽象代数》,北京,科学出版社,2017年文章使用wolai编写并导出,在wolai中观看效果更好,有颜色高亮和实时更新群Group对于非空集合\(G\),\(\circ\)是它的一个代数运算,如果满足以下条件:结合律成立,即对\(G\)中任意元素\(a,b,c\)都有\[(a\circb)\circc=a\circ(b\circc)\]\(G\)中有元素\(e\),叫做\(G\)的左单位元,它对\(G\)中每个元素\(a\)都有\[e\circa=a\]对\(G\)中每个元素\(a\),在\(G\)中都有元素\(a^{-1}\),叫做\(a\)的左逆元(Invers

[UUCTF] 2022新生赛wp - MiscAK - S1gMa

2022UUCTF新生赛wpbyS1gMa前言\(misc\)本以为\(ak\)了,结果比赛结束前又来一道阴间社工,所以直接无视就当\(ak\)了~就拿了2个一血有点可惜.....Whereisflag?知识点1.文件分离;2.\(PNG\)文件头补全;3.零宽隐写。解题过程分析流量包发现存在压缩包,故直接拖到\(kali\)中分离,得到一个Whereisflag?的文件,用\(winhex\)分析发现是个缺少文件头的\(PNG\),补全后是一个二维码,扫描后零宽解密得到\(flag\)。搬好小板凳听故事知识点1.base64;2.十六进制转字符串。解题过程直接\(base64\)解密,然后十

素数算法(Prime Num Algorithm)

素数算法(PrimeNumAlgorithm)数学是科学的皇后,而素数可以说是数学最为核心的概念之一。围绕素数产生了很多伟大的故事,最为著名莫过于哥德巴赫猜想、素数定理和黎曼猜想(有趣的是,自牛顿以来的三个最伟大数学家,欧拉、高斯和黎曼,分别跟这些问题有着深刻的渊源)。我写这篇文章不是要探讨和解决这些伟大猜想和定理,而是回归问题本身,用计算机判定一个素数,以及求取特定正整数值下所包含的所有素数。这篇文章,算是自己对素数问题思考的一次总结。先说一下素数的定义:素数也叫质数,是只能被\(1\)和其本身所能整除的非\(1\)正整数。第一个素数是2,它也是唯一一个偶素数。100以内素数列为:23571