自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (7)
  • 收藏
  • 关注

原创 蓝桥杯 2023 C++ B组 (个人代码,可能有小错误)

先用边缘的海水进行bfs求出"真的海水",然后再对所有岛屿进行BFS,此时BFS的时候非真的海水可以直接识别为陆地然后入队。每次用第i个数组开头的字母对应的数组更新f[i],然后再用f[i]反过来更新bac即可。因此我们可以开一个数组f[i]表示前i个数字,以第i个结尾的最大接龙子序列。删最少数使得他是接龙序列,即求原序列的最大接龙子序列,然后用n减去。然后枚举开头的位置,二分出结尾在另一个数组的合法位置,直接累加答案。因此直接二分即可,顺便输出一下结果对应的函数值。set维护每个位置的值和要删的最小值。

2023-04-08 14:27:27 13303 41

原创 CMake 在windows下的两种操作

快速构建CMake,点击CMake配置,即可出现build文件夹。CMake 在windows下的两种操作(使用VScode)安装CMake Windows后,配置好CMakeLists。第一种方式,直接使用VSCode自带的Cmake插件。直接在VSCode中安装CMake。

2023-03-07 23:33:40 425 2

原创 P6018 [Ynoi2010] Fusion tree

1.从低到高建立01Trie来维护每个点的+1操作和所有点的异或和。丢个比较清晰的代码在这里,时间不早了,等到下次想起来再继续写。3 x:查询所有距离x点=1的所有值的异或和。1 x : 给距离x为1的所有的点+1。2.分别单独维护儿子和父亲。2 x y: x点值-y。

2022-11-01 23:46:46 328 2

原创 一道有点巧妙的DP,一篇有点清晰的方法

大意就是给了一个长度为n的括号串S,要求在S之前加一个串P,在S之后加一个串Q,使得总长为m且保证。表示添加的前i个括号中,括号串的值为j,拼接上S之后的方案数,例如xxxxSxxxx(当前位置)表示添加的前i个括号中,括号串的值为j,且没有拼接上S的方案数,例如xxxxx(当前位置)我们一共需要添加n-m的括号,我们定义括号串的值为左括号-右括号的个数。,S的前缀中右括号比左括号多的值的最大值为。,显然有拼接S的时候前面P至少有。这两个状态分别对应加上。

2022-10-30 23:15:34 174

原创 最小割中的二选一问题

网络流最小割_2选1问题

2022-10-26 00:24:35 427

原创 Educational Codeforces Round 87 (Rated for Div. 2) C2.Not So Simple Polygon Embedding

先让整个2n边形的某个顶点对着(1,0),在这种情况下以(0,0)为中心构造的正方形显然不是最小的。我们也可以发现只需要绕着原点转一个角度就能够造出最小的正方形:可以画一画发现,旋转的角度为。然后对于C1的代码,只要把二分函数里的now角度改一下就好了。大致就是二分(这里二分应该是可以O(1)的)

2022-10-19 00:39:58 109

原创 2019-2020 ICPC Asia Hong Kong Regional Contest

比较典型的数位DP,一开始像用和和平方和来凑出要求的式子。记录一个已构造数字和与当前情况下题目中那个式子关于m的模数,即。110 001之类的类型并不改变0和1数量之间的关系,只有000和111改变。所以找到所有能删掉的0或者1,然后看是否能将二者数量删的一样多。给定一棵树,双方轮流玩游戏,每次可以移除一棵完全二叉树子树。表示构造到i为已构造数字和模m为j,当前构造的题干式子模m为k的方案数。对于i位置,对所有比a[i]大的置为1,否则置为0.进制相关,就是他是用10-k~10来代替对应的进制。

2022-10-12 22:10:54 828

原创 D. Equal Binary Subsequences

我们只需要成对进行考虑即可,每一个成对的01和10反着操作即可。

2022-10-11 01:11:05 225

原创 Educational Codeforces Round 39 F,G

表示对于字符串F(i)与给出的字符串。这一段进行匹配的个数。

2022-09-29 20:00:18 117

原创 CodeChef 补题

打的几场Codechef补题

2022-09-25 01:12:23 378

原创 自适应辛普森积分

我们在学习积分的时候常常使用长方形来近似无限分割后的曲线的积分面积。但是如果在数值计算的时候,这样会造成不小的精度误差。因此辛普森积分使用抛物线上的曲线来近似。对于一段面积,先用辛普森积分法求出整段的面积S。然后找到中点mid,分别求出左边的面积L和右边的面积R。在求一段不规则图形的面积的时候,使用抛物线来近似曲线。我们用抛物线来近似a,b之间的面积。模板:(只需要改动定义的f函数即可。三个点确定的抛物线积分而得的面积。因此对于已知的函数方程。

2022-09-02 11:45:59 471

原创 计算几何_三角剖分 POJ3675 望远镜

将多边形按照逆时针方向,圆心向所有顶点连边,剖分成多个三角形,然后分类讨论求三角形和圆的面积交即可。所以我们先求出直线AB与圆的两个交点和圆心到线段AB的最短距离,然后进行讨论。2.如果a和b的距离都大于r且圆心到ab线段的距离大于r说明是第二种情况。3.然后依次讨论da和mind的长度来确定是否是第三种或者第四种情况。1.如果a和b距离圆心的距离都小于r,则说明是第一种情况。5.A和B都在圆外的特殊情况。用向量求圆和直线的交点.POJ3675 望远镜。3.A在圆内B在圆外。4.A在圆外B在圆内。.....

2022-08-30 00:48:50 196

原创 E. Cross Swapping

则需要交换,因此需要对操作i和操作j种正好一个操作一次。如果不需要换位置,那么i操作和j操作要么一个都没做,要么全都做了。的位置进行贪心讨论。从头开始逐行扫描,如果。这个剩下的就是带扩展域的并查集的模板题了。通过观察可以发现对于。...

2022-08-14 22:05:40 167

原创 积性函数学习&做题

中的一个数,两个环是不同的环当且仅当它们不能通过旋转使得两个环中对应的每个元素都相等。因为1e6以内分解质因数后最多的质数的指数为20.然后logn内分解并可以乘得答案。首先我们构造一个无限长的序列,假设此序列的周期为d,其中d为n的因子。个元组成一个环,每个元都是 1*,* 2*, …其中g(d)是可以轻松算出来的,总时间复杂度为。两个长度为 n 的序列 a, b,求满足。满足于任意一对互质的正整数p,q.都有。是两个函数,则它们的迪利克雷卷积为。的对 (x, y) 的数量。线性筛求n个数的正因子个数。.

2022-08-12 23:56:16 189

原创 2022牛客多校第三场

牛客多校第三场,逐渐填充题解

2022-07-25 21:52:39 137

原创 第16届东北四省赛题解

然后就是做一遍树型DP求出来每个点往下延申的最长深度,接着二分答案最小化的城市距离,一遍dfs,如果当前点到往下延伸的点的距离大于k意味着当前点也需要被选上,check最终选的点的数量是否...

2022-07-23 11:10:51 729

原创 ABC 260 [E - At Least One]

做法就是使用双指针,因为当[l,r]满足的时候,[l-1,r]或者[l,r+1]一定满足。所以我们固定左端点,然后找到第一个满足的右端点,然后计数。就是这个"满足"需要好好想一想。大意就是有一堆数A[1]…A[n]和B[1]…B[n],要求你计算1…m的连续子序列s的数量,满足对于i1~n都有。我们将每个位置对应的下标进行统计,当且仅当所有下标都被统计到的时候有[l,r]满足要求。...

2022-07-18 00:44:09 198

原创 E. Mark and Professor Koro

大意就是两个x可以合成一个x+1,问给定一堆数,然后每一次操作xd令a[x]=d,然后求出当前数所能造出来的最大数。重点是线段树上的函数,一开始写了两个log,就是二分再查,然后T了。方法就是维护一个很长的二进制数的每一位,a[x]=1表示x处可以被合成。然后模拟二进制上的加减法。我们可以发现首先要判断端点,然后如果要查最左边,就让左边先搜,否则就让右边先搜。...

2022-07-18 00:43:40 236

原创 CodeChef div4 (H) The XOR-OR Dilemma

构造的思路就是把所有的数全部或起来,然后和最终的数做异或得到tmp。然后用二进制拼接出tmp,用或操作,然后把剩下的没用到的数或起来最终两数异或便是答案。期间,特判不存在的解。然后将x,y移除并将新值插入。给定x,求使得最终剩下的值为x的方案。...

2022-07-18 00:43:08 111

原创 7.9 树上背包3

给你一个n(1≤n≤1000)n(1≤n≤1000)个点的有根树,其中1号点为根。你需要选择一个重量恰好kk的包含根的连通块,最大的权值和。对所有的k=0,1,2,…,m输出答案,其中1≤m≤1041≤m≤104。这一段的节点,选的重量和不超过j的点集的最大权值和。正好对应之后的那一个位置。...

2022-07-18 00:42:40 126

原创 E. Boring Segments

首先想的是二分,发现不可行。然后发现,当固定最小花费时,随着最小花费的增加,最大花费的最小值不减,因此我们利用这个单调性可以使用双指针算法。指针移动的条件是[1,m-1]这个区间没有被完全覆盖。对于这个扫描我的处理方法是用线段树维护区间最小值,懒标记更新区间加减,这样复杂度就是nlogm。大意是给定一堆{l,r,w}表示覆盖[l,r]需要w的花费。求能够完全覆盖[1,m-1]的最小的最大花费与最小花费之差。...

2022-07-18 00:41:43 92

原创 E. PermutationForces_II

我们不妨从较大的数的视角看,如果与小的数交换,意味着这个小的数与他交换完了之后就不会再交换他了,因此当前数与之前a数组中对应的数的差应当是在s范围之内的。因此第一步就是求出存在的b[i]和a[i]的最大差并与s进行比较并特判.​给定一个integers和长度为n的排列a和其变换之后的数组b。可以的位置然后按照顺序(从选择最少的开始,即a最大的开始)然后把可以选择的数量乘起来即可。之后得到数组b,但是数组b有部分缺失,用-1代替。现求数组b可能的方案数。首先将数组b中缺失的元素按照升序排列,记作数组。...

2022-07-18 00:40:54 167

原创 2022jscpc题解

A. PENTA KILL!签到题,直接O(n2n^2n2)遍历每一个五杀的开始点然后计算是否符合规则即可。规则就是一个人必须连续杀死五个不同的敌人,这个五杀者可在此过程中死亡。const int N=200010,M=N*2,mod=1e9+7;int n,m,k,a[N];struct F{ string p,q;}v[N];map<string,set<string>> mp;void solve(){ cin >> n; rep(i,1,n)

2022-05-30 22:07:34 2856 3

原创 昆明打铁记

昨晚过于emo九点就睡了,今天早上爬起来做一个阶段性的小总结:额,昨天昆明区域赛打铁了,意料之外的事情,毕竟我对我们队的定位是保铜争银的,但是铁了就是铁了,现在说什么也只能是事后口胡。刚开局,我开始看D,然后两个队友分别看其他几题。负责数学的队友觉得C可以写,于是他就专门负责推导C。然后十分钟左右看了一眼榜单,发现K有人过了,我就去看K,然后十分钟左右我推出来了一个式子,代码就一行,然后花了十分钟左右证明了一下发现是对的,因此在30min左右的时候1发A了K,然后我们就开始看其他题目。然后之后键盘交给了

2022-04-18 07:08:14 373 4

原创 2021-2022ICPC澳门VP

赛时出了A,C,F,K赛后队友补了E,我补了GEASY A,F,KA.So I’ll Max Out My Constructive Algor…队友出的,思路就是随便找一条路径,如果不满足就反着输出#include <bits/stdc++.h>using namespace std;int T, n, a[105][105];vector<int> v;void solve(){ v.clear(); cin >> n; .

2022-04-11 14:44:49 916

原创 *异或* 最小 ? 树

前几天VP了2020澳门赛区,被一道异或题摆了一道,因此今天找来几道异或的题目做一做,顺便总结一下。遇到异或的题目,如果性质很强而且每一位有显然相互独立互不影响的特点,我们常采用按位考虑的方法。但是遇到和这些好不相干的题目时,我们常使用01Trie(+分治)或者线性基的方法来处理。本文将浅谈一下前一种做法。首先是一道板子题,异或最小生成树CF888G. Xor-MST给定一个n个点组成的完全图,给定他们的点权,任意两个点之间的边权是二者之间的点权异或值,求完全图的最小异或生成树。通过思考很容易排除

2022-04-05 14:19:32 511

原创 ABC 129 E - Sum Equals Xor

E - Sum Equals Xorf[i][1]表示前j位,等于给定数L的方案数f[i][1]表示前i位,严格小于给定数L的方案数有状态转移方程:p[i]=='1':f[i][0]=f[i-1][0]*2%mod; //第一个数*2+1,第二个数*2或者反过来f[i][1]=(f[i-1][0]+f[i-1][1]*3)%mod; //要小于当前数,则为前一位的相等的数加上前一位小于的数中的两个分别*2+1或者都只*2p[i]=='0'f[i][0]=f[i-1][0];f[i][1

2022-03-28 20:58:12 299 1

原创 Educational Codeforces Round 109 (Rated for Div. 2) A~E (VP)

A. Potion-making要达成一定的配比,考虑最坏情况k和100-k,然后分别除以最小公因子的和便是答案(2min)void solve(){ cin>>k; int x=k,sum=100; sum-=x; int d=gcd(x,sum); print(x/d+sum/d);}B. Permutation Sort直接分类讨论即可,最大值最小值的位置,如果有序是0,如果最大值或者最小值在自己的位置上是1,如果都不在但是最大值和最小值都在中间是2,否则如果最大

2022-03-08 19:08:11 210

原创 Dancing Links 详解

Dancing Links 详解1.初始化部分:建立一行头节点第0行建立好一排空的头节点,完善好十字链表的各项信息。void init(){ for(int i=0;i<=m;++i){ l[i]=i-1,r[i]=i+1; u[i]=d[i]=i; } l[0]=m,r[m]=0; idx=m+1;}2.插入元素每次在第0行下面插入,虽然直观上行的顺序打乱,实际上是翻转了一下,不影响拓扑结构void add(int &

2022-02-26 13:23:20 407

原创 Codeforces Round #748 (Div. 3) F. Red-Black Number

VP没来得及做完,顺着思路做很快就写好了f[i][j][k][l]表示前i位数字红色取j位,红色组成数字mod A为k,蓝色数字mod B为l的方案是否成立,按照题意无脑转移然后最后获得每一步的决策:首先找到满足∣a−b∣|a-b|∣a−b∣最小的末尾决策,然后倒着dfs搜出答案即可当然官方的答案折半搜索也可以,但是没我的快// #define int LLconst int N = 50,M=N*2,mod=1e9+7;int n,m,cnt,A,B;string p;int f[N][N

2022-02-22 19:13:14 140

原创 炸鸡块君与FIFA22

https://ac.nowcoder.com/acm/contest/23106/B处理多个区间询问而且没有修改操作,RMQ直接用上。定义st[k][i][j]表示价值为k的从i到i+2^j-1这一段区间内的价值变化。由递推公式st[k][i][j]=st[k][i][j-1]+st[(k+st[k][i][j-1])%3][i][j-1]得到,然后得到答案的方式就是RMQ的二进制拼凑const int N = 200210;int st[3][N][21]; //st[k][i][j]表示初

2022-01-24 22:43:01 193

原创 Codeforces Round #767 (Div. 2) A~E

Codeforces Round #767 (Div. 2) A~EA Download More RAM大意是你一开始有 m G内存,每次你可以使用不超过你内存的RAM来升级你的内存,第i个扩充内存b[i].思路:直接贪心即可,每次都选最小的来升级。void solve(){ n=read();m=read(); rep(i,1,n) a[i].x=read(),a[i].y=i; rep(i,1,n) b[i]=read(); sort(a+1,a+1+n); for(int i=

2022-01-24 22:38:15 395

原创 小翔和泰拉瑞亚——线段树

****这道题很巧妙,关键就是想明白,我们先对所有的修改按照左端点排序,然后遍历到某一个位置的时候我们假定这个位置是最低点,因此我们首先做的操作时将以此点为左端点的所有能够修改的区间全部修改了,因为前面的每个点也是这么做的,因此可以保证枚举到这个点并操作完后所有包含这个区间的魔法都被施展了,即这个最低点尽量的低。然后更新完答案后再将所有以这个点为右端点的操作全部撤销,即加上-d,这样子可以保证再更新下一个区间的时候能够使得所有不包含当前点的魔法不会被施展。总之,思维有深度,实现起来则非常容易。#d

2022-01-20 17:52:57 325

原创 朱刘算法 有向图的最小生成树

朱刘算法有向图的类Prim算法,找有向图的最小生成树最小树形图树形图:无有向环除了根节点外,每个点入度为1以某个点为根的一棵有向树,其边权之和为图中所有树形图中是最小的称为最小树形图。朱刘算法 O(nm)O(nm)O(nm)(1) 除了根节点外对每个点选取一条边权最小的入边(2)判断当前(选出的边)组成的图中有无环​ 1.若无环:则说明当前图已经为构造好的最小生成树,算法结束​ 2.若有环:进行第(3)步(3)将构造的图进行强连通分量缩点,得到新图G′G'G′,对于G′G'G′

2022-01-18 17:36:05 2005 2

原创 Codeforces Round #764 (Div. 3) F. Interacdive Problem

F题已经给了范围了,因此直接二分就行了,但是本题二分的值一直会变,因此只需要记录一个累加值,然后每次二分n-x,最后得到最终答案加上累加值就行了int n,last=0,sum=0;int ans[11];int read(){ int n; cin >> n; return n;}void print(int x,int k){ if(k) cout << "+ " << x << endl; else cout << "

2022-01-11 01:05:04 343

原创 平面图上最小割=对偶图最短路

应用2: 平面图上最小割=对偶图最短路平面图:(欧拉公式)如果一个联通的平面图有n个点,m条边和f个面,则f=m-n+2每个平面图G都有一个与其对偶的平面图G’G‘中的每个点对应G中的一个面性质对偶图中的每条边e有当e∈面{f1,f2}e \in 面\{f1,f2\}e∈面{f1,f2}则加入边(f1∗,f2∗)(f_1^*,f_2^*)(f1∗​,f2∗​)即有公共边的面转化成点之后互相之间连一条线ne只属于一个面f,加入回边(f1∗,f2∗)(f_1^*, f_2^*

2022-01-10 14:35:10 652

原创 AtCoder Beginner Contest 234 F - Reordering

期末考试考完了…开始补题了最近几场ATC的ABC都很简单,前五题都是普及组左右,因此目前的目标就是能够稳出F这次F的读题没读明白,读错了,实际上是可以乱序,因此就是一个数学组合题:#define int LLconst int N = 5010,mod=998244353;int n,m,k;int f[N][N],fac[N],inv[N],finv[N],freq[27];string s;//f[i][j]表示前i个字母组成的长度为j的子序列的数量//f[i][j]+=for(k=

2022-01-08 22:34:05 408

原创 软件工程大作业_2_速成Django项目之路由与前端完善

1.新增update功能2.新增delete功能3.新增base.html模板4.30min速成HTML+Bootstrap框架5.能够简单实现基本的增加,删除,展示后端逻辑最终从环境搭建到项目半成品耗时6h,效果如图

2021-12-12 00:16:32 632

原创 软件工程大作业——失物招领系统_1 配置环境+简单逻辑

下面实现这些逻辑:CURDcreateRetrieveUpdateDeleteList第一天配置好Django环境和虚拟工作环境后完成简单的create逻辑,简单login逻辑,简单detail逻辑,简单update逻辑视图函数from django.shortcuts import render,redirectfrom django.http import HttpResponsefrom .models import Todofrom .forms import Todo.

2021-12-11 01:07:19 938 1

原创 网络流__5 多源汇最大流

网络流

2021-12-07 18:20:00 766

清华大学郑莉C++配套PPT+作者整理知识点+精选习题(配套答案).zip

适合备考c++程序设计期末的学子

2021-12-30

软件工程(概论)核心知识点整理,覆盖近十年考卷 复习.zip

软件工程考试内容,完全覆盖所有书上核心知识点,八小时途血整理。近十年来的所有期末考试全有涉及

2021-12-30

c++标准库风格实现包含运算符重载与输出流重载的大复数类

大复数类,实现了复数的运算符重载与输出流重载。标准库码风

2021-10-06

规划问题与极值问题.pdf

规划问题(1).pdf

2021-07-22

规划问题.pdf

用python数学建模之规划问题.pdf

2021-07-22

等级考试题库单选题.pdf

针对计算机二级Python考试的准备人群

2021-07-07

五一建模赛B题.pdf

2021五一数学建模比赛B题

2021-05-15

空空如也

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

TA关注的人

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