自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 计算几何(二维),定理及证明(持续更新中..)

计算几何基础知识,注重证明。

2023-07-18 17:55:39 181

原创 GDKOI2023 D1T1

考场上没想出来,收到来自题目标题的嘲讽。

2023-03-18 16:16:14 677 1

原创 GDKOI2023 D2T1

相比于D1T1,这题才是真正的签到题,然而,我却爆0了。为了这悲壮的0分,写下了这篇题解。

2023-03-18 11:26:31 652

原创 U231683 younger 永存

有趣的数学题,适合练习公式推导能力(和耐心)

2022-08-05 17:46:59 114

原创 数据结构——线段树学习笔记

如果对线段树还没有了解,建议先阅读这一篇文章P1253 [yLOI2018] 扶苏的问题比普通的线段树多了一个覆盖操作,针对这个问题,我们可以设定三个懒惰标记,分别表示当前位置需要加多少,需不需要被覆盖(也可以不要,如果将不用覆盖的区间的需要被覆盖成的数字设为一个不可能出现的也可以)和需要被覆盖成的数字。由于出现了覆盖和加法两种情况,push_downpush\_downpush_down 函数需要进行一些改动:区间覆盖操作:完整代码可能大家都会有一个疑问:为什么 push_downpush\_

2022-07-10 21:53:34 361

原创 计算器2.0

#include<bits/stdc++.h>using namespace std;__int128_t Mod=(__int128_t)10000000000000000;struct node{ vector<__int128_t> huge_int; bool ne;};struct node2{ node ds,ys;};struct node3{ char f; __int128_t yx;};stack<node> num;st

2022-07-10 21:02:36 103

原创 51nod NOI科目校 信息学知识点测评-普及组综合测试 C 数对(非正解,但没有被卡掉)

原题链接C 数对题目大意定义 AndAndAnd 为按位与操作,XorXorXor 为按位异或操作。给一个包含 nnn 个元素的正整数序列 aaa,计算满足 ai And aj≥ai Xor aja_i\ And\ a_j≥a_i\ Xor \ a_jai​ And aj​≥ai​ Xor aj​ 的 (i,j)(i,j)(i,j)   (i<j)\ \ \ (i<j)&nbsp

2022-05-28 21:30:29 230 2

原创 中国剩余定理(CRT)和扩展中国剩余定理(EXCRT)

问题引出“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。《孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。——百度百科解题思路{x≡2(mod 3)x≡3(mod 5)x≡2(mod 7)\left\{\begin{matrix}x\equiv 2(mod\ 3)\\x\equiv 3(mod\ 5)\\x\equiv 2(m

2022-05-14 20:29:05 264 1

原创 51nod 3144 超级购物

原题链接3144 超级购物题目大意有 n (1≤n≤20)n\ (1\le n\le 20)n (1≤n≤20) 个人去逛商场,第 iii 个人在商场买东西的概率为 pi(0.1<pi<1)p_i(0.1< p_i<1)pi​(0.1<pi​<1)他们逛完商场后,已知有 r(0≤r≤n)r(0\le r\le n)r(0≤r≤n) 个人买了东西,对每个人求他买了东西的概率。解题思路可以利用贝叶斯公式来分析 P(A),P(B),P(A∣B)

2022-05-04 09:05:05 298

原创 CF959E Mahmoud and Ehab and the xor-MST

原题链接CF959E Mahmoud and Ehab and the xor-MST题目大意一完全图有 n(2≤n≤1012)n(2\leq n\leq 10^{12})n(2≤n≤1012) 个节点 0,⋯ ,n−10,\cdots,n-10,⋯,n−1,其中边 (i,j)(i,j)(i,j) 的权值为 i⊕ji\oplus ji⊕j(其中 ⊕\oplus⊕ 为位异或操作),试求出最小生成树的边权和。结题思路数据规模高达 101210^{12}1012 ,肯定不可以使用最小生成树去做。盲猜一下

2022-02-19 16:43:24 102 1

原创 最大异或对

原题链接最大异或对题目大意给定的 NNN 个整数 A1,A2,A3,⋯ ,ANA_1,A_2,A_3,\cdots,A_NA1​,A2​,A3​,⋯,AN​,选出两个数进行 ⊕\oplus⊕(异或)运算,求得到的结果的最大值。结题思路异或的法则是相同为0,不同为1。如果想让两个数的异或结果大的话,就要尽量让权值高的点不相同。于是,我们可以考虑先建一棵字典树来存储所有单词,再一个数一个数地遍历,并且取出所有数的异或对最大值之中的最大值即可。而取每个数的异或对中的最大值,就可以在字典树上遍历前缀,尽量

2022-02-18 19:07:57 160

原创 Trie树c++实现

Trie树简介Trie树又称字典树,是一种用于实现字符串快速检索的多叉树结构。Trie树的每个节点都有若干个字符指针,若在插入或检索字符串时扫描到一个字符c,就沿着当前节点的c这个字符指针,走向该指针指向的节点。实现原理上面的简介看懂了吗?我没有为了加深理解,还是模拟一下:先插入“cat”:再插入“dog”:接着,插入“deer”:最后,插入“panda”:如上图,我们便成功地构建了一棵Trie树。其空间复杂度为 O(NC)O(NC)O(NC) (其中,N是节点个数,C是字符集的大小

2022-02-17 22:37:38 769

原创 P1686 挑战(推荐洛谷水紫)

原题链接P1686 挑战题目大意有一条

2022-01-17 08:48:09 672

原创 STL常用操作

注意:为了您的c++着想,请不要编译或运行以下任何代码!!!vector//vector,俗称动态数组,是一个可以改变大小的数组。#include<vector>#include<iostream>using namespace std;int main(){ vetcor<type> name;//定义方法,定义一个动态数组,type替换成其他类型(也可以套用vector),name 即这个动态数组的名字。 name.clear();//清空“name

2022-01-16 22:05:05 221

原创 2664 字母表

原题链接2664 字母表题目大意有 n(1≤n≤100)n(1\le n\le 100)n(1≤n≤100) 个单词,需要你设置一种字典序,让这些单词按照题目所给的顺序进行排序。解题思路比较好想的一种做法就是先建边,再进行拓扑排序。拓扑排序简单,只需要使用板子即可,但是建边就比较难了(调了一个上午!!!)。如何建边?先看一个例子:3rivestshamiradleman先从第一位建起:3r|ivests|hamira|dleman为了让它们按照这个顺序排列,就要保证在字典

2022-01-14 20:34:31 143 2

原创 P1137 旅行计划

原题链接P1137 旅行计划题目大意一个图上有 n≤100000n\le 100000n≤100000 个点和 M≤200000M\le 200000M≤200000,输出以每一个点为终点最多可以经过多少个点。解题思路要求求以每一个点为终点最多可以经过多少个点,有一点动态规划的意思。但是,动态规划,要求无后效性。只有按照不会对后面进行影响的顺序进行动态规划,才行得通。而最好想到的顺序就是拓扑的顺序了。拓扑排序,最常用来解决的问题就是做工程的先后顺序的问题,动态规划也是如做工程一样,一定要先做完前

2022-01-14 14:49:23 85

原创 P2835 刻录光盘

原题链接P2835 刻录光盘题目大意有 n(2≤n≤200)n(2\le n\le 200)n(2≤n≤200) 个人要拷贝光盘,每个人都可以给自己愿意给的人进行再次拷贝。求最少要将光盘给多少人拷贝。解题思路实际上,本题就是求联通块的个数。很明显,要使用 dfsdfsdfs ,但是,如何求最少?肯定是将联通块的顶点进行一次遍历,从最大的联通块到小的联通块,并且每遇到一个没有被标记的点,就将答案加一。那么如何将连通块的顶点排序?那就要使用拓扑排序了。按照拓扑排序的原理,是将入度为0的点先放入队列,

2022-01-14 13:58:09 188

原创 1763.观光旅游

原题链接外网进不去题目大意在一张无向图中找到一个最小的环。解题思路很明显,这一题需要使用最短路。但是,求环的最短长度,就是求从自己到自己的最短长度,在最短路中,答案肯定是0。于是,我们需要换一种想法。其实,环如果拆开,可以变为多段线路,在这里,我们可以将其拆为三段:对点 A,B,CA,B,CA,B,C 进行枚举,点 A∼BA\sim BA∼B 一段可以使用已经求出的最短路径,点 A∼CA\sim CA∼C 和 B∼CB\sim CB∼C可以使用输入时所存储的两点距离。代码实现#includ

2022-01-14 12:52:01 145

原创 1613.最短路径问题

原题链接外网进不去题目大意在一个地图上有 n(2≤n≤100)n(2\le n\le 100)n(2≤n≤100) 个点,每一个点对应一个坐标:x (−10000≤x≤10000),y (−10000≤y≤10000)x\ (-10000\le x\le 10000),y\ (-10000\le y\le 10000)x (−10000≤x≤10000),y (−10000≤y≤10000)再给出 m (1≤m≤(n)×(n−1)2)m\ (1\l

2022-01-14 12:02:50 191

原创 P1828 香甜的黄油 Sweet Butter

原题链接P1828 香甜的黄油 Sweet Butter题目大意有 n(1≤n≤500)n(1\le n\le 500)n(1≤n≤500) 头牛,每头牛都在自己的牧场内。有 1≤c≤14501\le c\le 14501≤c≤1450 对牧场之间有一条路,且每条路的路程不同。现在,让所有牛去到其中一个牧场,求所有牛走过的路程总和的最小值。解题思路很明显,这一题需要使用最短路算法。因为路是双向的,所以我们可以计算从枚举一个牧场,再计算从这个牧场到其他牧场的最短路,将其总和加起来,求最小值。代码实

2022-01-14 10:35:25 91

原创 1618.剑鱼行动

原题链接外网进不去题目大意给出 N (2≤N≤100)N\ (2\le N\le 100)N (2≤N≤100) 个点的坐标 x (−10000≤x≤10000),y (−10000≤y≤10000)x\ (-10000\le x\le 10000),y\ (-10000\le y\le 10000)x (−10000≤x≤10000),y (−10000≤y≤10000) ,对它们建立一个最小生成树,代价就是连接它们的路径的长度,现要求总长

2021-12-25 11:24:06 433

原创 1612.最优布线问题(最小生成树)

原题链接外网进不去题目大意给出一张 nnn 个点的联通图,每条边都有一个权值,求这个图的最小生成树。结题思路普里姆算法(prim)这是一个时间复杂度为 O(n2)O(n^2)O(n2) 的做法,从根本来说,是一个使用贪心算法实现的最小生成树算法。假设这样的一张图:#mermaid-svg-Ii3hUqgV6egzleFE .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-famil

2021-12-24 21:41:42 602 1

原创 CF510B Fox And Two Dots

原题链接CF510B Fox And Two Dots题目大意在一张 n×m (2≤n≤50,2≤m≤50)n\times m\ (2\le n\le 50,2\le m\le 50)n×m (2≤n≤50,2≤m≤50) 的地图上有许多点,每一个点都由一个字母代表当前位置的颜色。每个点可以与上下左右连接,问图上能否出现一环。解题思路...

2021-12-18 15:09:20 215

原创 P1854 花店橱窗布置

原题链接P1854 花店橱窗布置题目大意有F(1≤F≤100)F(1\le F\le 100)F(1≤F≤100)束花,V(1≤V≤100)V(1\le V\le 100)V(1≤V≤100)个花瓶,花瓶是固定的,花束可以移动,并且从左到右,每束花依次用1到F的整数标识。但是如果I < J,则花束I必须放在花束J左边的花瓶中。每束花放在每个花瓶中对应一个美学效果,求每束花美学效果之和最大是多少,并且输出方案(分别表示第 iii 个花束放在第几个花瓶里)。结题思路求花美学效果之和最大是多少还是

2021-12-10 22:19:40 243

原创 P1435 回文字串

原题链接外网进不去P1435 回文字串题目大意回文字符串表示这个字符串从左往右和从右向左读取的结果一样。现在,给定一个字符串,求在其中插入几个字符可以使其变成回文字符串。解题思路按照题目的提示,我们得到了回文字符串的特点:从左往右和从右向左读取的结果一样。于是,这么来想,我们便可以想到使用找字符串从左往右和从右向左来找最长公共子串(显然,这是不用更改的),剩下的,就是要么是左边有,右边没有的,要么就是右边有左边没有的,所以,剩下的,就是要插入的字符个数了,也就是答案。至于最长公共子串,这里就不再

2021-12-04 16:26:25 754

原创 P1026 统计单词个数

原题链接外网进不去P1026 统计单词个数题目大意有一个字符串,以每行20个的方法输入(每行都满20个),一共有 p(p≤10)p(p\le 10)p(p≤10) 行。题目又会给出 nnn 个单词,求将这个字符串分成 1<k≤401<k\le 401<k≤40 个部分后字符串最多能包含都少个单词(单词可以重叠,但是重叠的单词的前缀不可以一样)。解题思路因为从字符串中截取一段中所包含的单词数是一定的,所以只要保证前面的单词数最多,就可以保证答案最多。这样,这个问题就变为了要解决它

2021-12-04 12:21:44 597

原创 1638.拔河比赛

原题链接外网进不去题目大意有n (n≤100)n\ (n\le 100)n (n≤100)个数字,每个数字大于0,小于等于450。要把这些数字分成两组,两组之间数字个数的差值不超过1,求如何取,可以使得两组数字的之间差值最小,输出这种方法,小的在前,大的在后。结题思路...

2021-12-03 21:29:02 280

原创 P1282 多米诺骨牌

目录原题链接题目大意解题思路原题链接P1282 多米诺骨牌题目大意有n(1≤n≤1000)n(1\le n\le 1000)n(1≤n≤1000)骨牌,每个骨牌都有上下两个部分,每个部分都有一定的点数, 点数为从1到6的整数。如果想要使所有骨牌的上半部分的所有点数的和与所有骨牌的下半部分的所有点数的和的差的绝对值最小,需要将上下部分交换多少次?解题思路我们可以先从简单的想起:如果我们定义fi,jf_{i,j}fi,j​表示前 iii 个骨牌构成上下差值为 jjj 是否可能。不难得到:fi,j

2021-12-02 17:01:13 196

原创 P1006 传纸条

目录原题链接题目大意解题思路代码实现样例输入输出原题链接P1006 传纸条题目大意有两个人在传纸条,一个人在坐标 (1,1)(1,1)(1,1) 处,一个人在坐标 (n,m)(n,m)(n,m) 处。纸条需要从 (1,1)(1,1)(1,1) 处传到 (n,m)(n,m)(n,m) 处(只能向下或向右传),再从 (n,m)(n,m)(n,m)处传到 (1,1)(1,1)(1,1) 处(只能向上或向左传),在每一个位置上的同学都对应一个好心程度,他们希望尽可能找好心程度高的同学来帮忙传纸条,即找到来回

2021-11-27 13:30:12 75

原创 1644.取数字问题

目录原题链接题目大意原题链接外网进不去题目大意给定M*N的矩阵,其中的每个元素都是-10到10之间的整数。从左上角往右下角走7,每一步只能向右或向下,并且不能走出矩阵的范围。你所经过的方格里面的数字都必须被选取,请找出一条最合适的道路,使得在路上被选取的数字之和是尽可能小的正整数。...

2021-11-27 11:23:42 209

原创 2291.分组背包

目录原题链接题目大意解题思路分组背包代码实现样例输入输出原题链接外网进不去题目大意有N件物品和一个容量为V(V≤200)V(V\le 200)V(V≤200)的背包,有N(N≤30)N(N\le 30)N(N≤30)个物品,每个物品有一个组号,最大的组号是t(t≤10)t(t\le 10)t(t≤10)。第 iii 件物品的费用是 w[i]w[i]w[i] ,价值是 p[i]p[i]p[i] 。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超

2021-11-27 09:40:43 116

原创 P1018乘积最大

目录原题链接题目大意结题思路代码实现样例输入输出原题链接P1018题目大意有一个长的为n(6≤n≤40)n(6\le n\le 40)n(6≤n≤40)的字符串,你要在其中任意添加k(1≤k≤6)k(1\le k\le 6)k(1≤k≤6)个乘号,求得到的最大值是多少。结题思路如果使用暴力枚举,时间复杂度就会为:O(4n)O(4^n)O(4n),超时。这时候,我们考虑动态规划。假如我们设f(n,k)f_{(n,k)}f(n,k)​表示前nnn个位置放kkk个乘号的最大结果,设r(i,j)r_{(

2021-11-13 13:29:37 70

原创 2119.电子眼

目录原题链接题目大意结题思路代码实现原题链接外网进不去题目大意在一个城市里,有n(1≤n≤100000)n(1\le n\le 100000)n(1≤n≤100000)个路口和n−1n-1n−1条马路,而且,每个路口都是互相可达的。现在,我们要在路口上装上电子眼,以监视路面情况。每个路口的电子眼都可以监视所所有与这个路口相通的道路,求最少要装多少个电子眼。结题思路我们可以使用树状dp来AC掉这一题。首先,先使用链式储存结构来对每一个相通的路口进行存储:void add(int x,int y)

2021-11-13 11:33:49 193

原创 B. 击毁战车

目录原题链接题目大意解题思路原题链接B. 击毁战车题目大意有m(1≤m≤1000)m(1\le m\le 1000)m(1≤m≤1000)辆战车,最开始,都处于posipos_iposi​的位置,每秒能移动speedispeed_ispeedi​位置(只能从小坐标往大坐标走)。原点上有一炮台。炮台有nnn颗炮弹,在时刻0开始就可以发射炮弹,而且发射的顺序是你来确定的,每次只能发射一颗,一颗炮弹只能用一次。每个炮弹都有一个休息时间restirest_iresti​,如果在某次发射了第iii颗炮弹,要间

2021-11-13 10:35:58 234 1

原创 A 牛牛数三角形

目录原题链接题目大意解题思路原题链接A 牛牛数三角形题目大意输入一个n(1≤n≤1018)n(1\le n\le 10^{18})n(1≤n≤1018),代表一个三角形,他有n(1≤n≤1018)n(1\le n\le 10^{18})n(1≤n≤1018)行,第一行有n(1≤n≤1018)n(1\le n\le 10^{18})n(1≤n≤1018)个位置,第二行有n−1n-1n−1个数……第nnn行有1个位置,每一个位置对应一个数(0∼90\sim 90∼9中的一个数)。比如说如果n=9n=9n

2021-11-13 10:07:32 481

原创 U138026 土地恢复

目录原题链接题目大意解题思路输入输出代码实现样例1输入输出样例2输入输出样例3输入输出原题链接U138026 土地恢复题目大意有一个长度为n(1≤n≤100000)n(1\le n\le 100000)n(1≤n≤100000)的土地,每个位置都有一个深度depth(0≤depth≤10000)depth(0\le depth \le 10000)depth(0≤depth≤10000),每次可以选择[n,m][n,m][n,m]的区间,让其中的每一处深度减一,求最少需要多少次,才能让所有位置的深度

2021-10-09 21:46:29 71

原创 B异或序列

这里写目录标题原题链接题目大意解题思路优化哈希代码实现输入格式输出格式样例输入输出样例解释原题链接B异或序列题目大意题目将会给你nnn (1≤n≤1000000)(1\le n\le 1000000)(1≤n≤1000000)个数字组成的数列aaa (ai≤230)(a_i\le 2^{30})(ai​≤230),和一个kkk (1≤k≤230)(1\le k\le 2^{30})(1≤k≤230),请输出有多少组i,ji,ji,j满足aia_iai​ xorxorxor aj=ka_j=kaj​=

2021-10-05 10:41:45 93

原创 P5380 鸭棋

#include<bits/stdc++.h>using namespace std;int x_2,y_2,x_1,y_1,n,s_way[8][2]={{0,1},{1,0},{-1,0},{0,-1},{1,1},{1,-1},{-1,-1},{-1,1}},king_way[4][2]={{0,1},{1,0},{-1,0},{0,-1}};int g_way[4][2]={{1,1},{1,-1},{-1,1},{-1,-1}},e_way[4][2]={{2,2},{2,-2}

2021-10-01 21:50:08 241 1

原创 P2293 高精度开根

粗略地算了一下时间复杂度,但如果使用暴力,那么时间复杂度将会达到。这题,一看就是高精度。高精度的开根,如果上网搜,会搜索出各种。还是超时,继续优化。无能为力之下,只能使用压位高精。(简单来说,就是答案的位数是根号下数的位数除以开的次方数。但是,既占空间,又占时间。我们发现,就算是使用。,我们可以采用一种非常朴素的写法二分。压位高精的输出中,当本身就是0,只输出。如此,可以将时间复杂度降低至。就OK了(时间复杂度将会降低至原来的。大概意思是给你两个数,个的0,真的被坑到了!...

2021-09-13 21:05:33 971 3

原创 uno卡牌c++实现(+4,change color未完成)

#include<windows.h>#include<conio.h>#include<wincon.h>#include<string>#include<vector>#include<algorithm>#include<ctime>#include<cmath>#include<iostream>#include<map>#pragma GCC optimize

2021-09-10 17:21:14 1389

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除