自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git命令上传本地项目(gitee为例)

右键项目根目录,git bash here敲入如下命令上传所有文件(需根据仓库名修改命令)此处仓库名为miaoshagit init touch README.mdgit add -Agit commit -m "first commit"git remote add origin https://gitee.com/while_you/miaosha.gitgit push -u origin master...

2022-01-20 18:27:22 138

原创 j2ee期末复习

整体结构model / entitypublic class Player { private Integer id; private String name; private String sex; private Integer age; private String address; public Integer getId() { return id; } public void setId(Integer

2021-12-28 10:50:38 448

原创 bat定时消息提醒器

启动程序,到达指定时刻,自动弹出弹窗,此处消息为"sign in class!!!"h为系统现在小时,m为系统现在分钟::为注释标记,%此处时间设置%亦为注释标记/time:6000 为6000秒后自动关闭弹窗@echo off:Aset h=%time:~0,2%set m=%time:~3,2%::echo %h%::echo %m%%此处进行时间设置%if %h%==17 if %m%==20 (msg %username% /time:6000 %time% sign .

2021-11-20 12:40:36 2040

原创 ACM总模板

1.字符串字符串hash//自然溢出法//统计前缀出现次数#define base 131#define ull unsigned long longunordered_map<ull,int> mp;string a;void hash(char a[]){ int len=strlen(a); ull t=0; for(int i=0;i<len;i++){ t=t*base+a[i]-'a'+1; mp[t]++; }}//统计后缀出现次数#

2021-09-15 19:39:10 364

原创 求树的重心

树的重心为f[i]最小的点// 树的重心:最大子树的结点数最小 // f[i]:以i为根的最大子树的结点数 // size[i]:以i为根的子树的结点数 int f[maxn],size[maxn],all;vector<int> ve[maxn];void dfs(int u,int fa){ size[u]=1; for(int v:ve[u]){ if(v==fa) continue; dfs(v,u); size[u]+=size[v]; f[u]=max

2021-09-15 19:36:40 75

原创 dp / 容斥原理

链接容斥原理奇加偶减A∪B∪C=A+B+C−A∩B−A∩C−B∩C+A∩B∩CA∪B∪C=A+B+C-A∩B-A∩C-B∩C+A∩B∩CA∪B∪C=A+B+C−A∩B−A∩C−B∩C+A∩B∩C枚举:采用二进制(全排列)#include <bits/stdc++.h>#define int long longusing namespace std;const int maxn=1e6+5;const int mod=1e9+7;const int inf=1e18;in

2021-09-15 19:35:37 113

原创 最短路dij模板(堆优化)

// 点数,边数,源点到各点最短距离,起点,访问标记,链式head int n,m,dist[maxn],s,vis[maxn],head[maxn];struct edge{ int to,val,ne;}edge[maxn];struct node{ int val,pos; friend bool operator <(struct node a,struct node b){ return a.val>b.val; }};priority_queue<nod

2021-09-15 19:34:53 191

原创 java连接mysql数据库

CodeMySQL 8.0 以上版本(高版本)/* 此处以mysql中book数据库为例 */import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JdbcUtils { private static String driver = "com.mysql.cj.jdbc.Driver"; private static String

2021-09-15 19:33:50 65

原创 【模板】最长上升子序列

核心代码//dp[i]:前i个串对应的最长上升子序列长度for(int i=1;i<cnt;i++){ string now=a[i]; if(!tot||now>tmp[tot]) tmp[++tot]=now,dp[i]=tot; else{ int l=1,r=tot; //第一个比now大的 while(l<r){ int m=(l+r)>>1; if(tmp[m]<=now) l=m+1; else

2021-09-15 19:32:54 67

原创 Remember the Word,uva 1401 (trie+dp)

Link算法竞赛经典训练指南p209题意给定一些单词,和一个长串,问这个长串拆分成已有单词,能拆分成几种方式#include <bits/stdc++.h>using namespace std;#define int long longconst int maxn=1e6+5;const int mod=20071027;const int inf=1e18;/************/char a[maxn],b[5005][105];int n,go=1,len,d

2021-05-22 00:18:34 190 2

原创 点分治

问题给定一棵树和一个整数 k ,求树上等于 k 的路径有多少条?点分治解决形似如上的问题,像是求树上所有的路径中满足某种条件的路径数思想根据目前所学的来看,点分治像一种思想,思想如下考虑一颗树,从树的根(显然应是重心)到所有结点的...

2021-05-12 11:11:15 112

原创 Tire——01字典树应用(异或最大)

问题1给定n个数,从中选出两个数a,b,使得a^b最大问题2给定n个数,求一个区间[l,r],使得区间异或和最大

2021-05-08 14:43:30 330

原创 数论推论【扩展欧几里得】

结论:已知n个整数(ai>0a_i>0ai​>0),从中任选两个数a,b相加,每个数使用次数不限。令a+b=ca+b=ca+b=c,若有两个数互质,则有[x,inf)[x,inf)[x,inf),使得c可取该区间任一整数

2021-04-15 21:34:32 71

原创 nth_element【STL】

求区间第k小:nth_element(a,a+k,a+n)求区间第k大:nth_element(a,a+n-k,a+n)复杂度:O(n)k范围:[0,n-1]/*求区间[a[0],a[4]]的第0小值,此出输出1*/int a[5]={3,2,1,4,5};signed main(){ nth_element(a,a+0,a+5); cout<<a[0]; return 0;}参考:Link...

2021-04-11 13:44:45 70

原创 矩阵快速幂加速递推

参考:Link

2021-04-11 13:06:18 83

原创 悬线法【动态规划】

2019 ICPC 银川 K.Largest Common Submatrix悬线法参考

2021-04-09 17:17:29 134

原创 第十一届蓝桥杯省赛第二场 I.子串分值和【简单dp】

Link分析暴力的话是O(n2)O(n^2)O(n2),考虑如何优化为O(n)O(n)O(n)观察计算过程发现有非常多的重复部分令dp[i]为以第i号字符为结尾的所有值之和则有dp[1]所对应子串有adp[2]:b、abdp[3]:a、ba、aba即dp[i]对应子串为:dp[i-1]所对应所有的子串+a[i]因计算的是不同字符数,故一字符出现后相同字符出现将不再对答案有贡献。所以对于字符a[i],需知道其上一次出现的位置,即pre[a[i]]。那么由于a[i]的影响,本次贡献为 上

2021-04-08 19:23:15 790 3

原创 2019 ICPC 银川 G.Pot!!【线段树】

Link前置线段树的RMQ模板(区间查询,区间修改)int tree[maxn],lazy[maxn];void push_up(int u){ int v1=u*2,v2=u*2+1; tree[u]=max(tree[v1],tree[v2]);}void push_down(int u){ int v1=u*2,v2=u*2+1; tree[v1]+=lazy[u]; tree[v2]+=lazy[u]; lazy[v1]+=lazy[u]; lazy[v2]+=lazy[u

2021-04-08 13:18:59 104

原创 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)I.Simone and graph coloring【最长下降子序列 / 树状数组】

Link树状数组 / 最长下降子序列题意给定n个数字,对所有的逆序对建边,构成一个无向图,现对所有的点进行染色,求一种染色方案,使得相邻结点颜色不同,且使用颜色数最少分析若模拟情况,会发现逆序对数最多是n2n^2n2数量级,所以建边的话会炸时空,显然考虑找性质规律任找两组数据进行模拟4 3 2 1 —> 1 2 3 45 4 3 1 2 —> 1 2 3 4 4发现第i号数的答案为以i为结尾的最长下降子序列考虑两种方法用数据结构,即树状数组:对于第i号数,找到

2021-04-06 18:10:55 125

原创 2020牛客暑期多校训练营(第二场) A.All with Pairs【KMP / 字符串hash】

LinkKMP / 字符串hash题意给定n个字符串s1,s2...sns_1,s_2...s_ns1​,s2​...sn​,求∑i=1n∑j=1nf(si,sj)2(mod998244353)\sum\limits_{i=1}^n\sum\limits_{j=1}^nf(s_i,s_j)^2(mod998244353)i=1∑n​j=1∑n​f(si​,sj​)2(mod998244353)f(si,sj)f(s_i,s_j)f(si​,sj​)表示sis_isi​的前缀与sjs_jsj​的后缀相

2021-04-06 18:08:17 120

原创 POJ2356 Find a multiple【前缀和+抽屉原理】

Link

2021-04-06 16:22:24 87

原创 P2518 [HAOI2010]计数【数位dp、康托展开】

Link数位dp / 康托展开Tips当题目要用到排列组合,却未让你取模时,用以下形式求排列组合比较稳注意将数组定义为double、或long double其范围在1e300多,可求至100!void init(){ A[0][0]=C[0][0]=1; for(int i=1;i<maxn;i++){ for(int j=0;j<=i;j++){ if(j==0) A[i][j]=1; else A[i][j]=A[i][j-1]*(i-j+1); if(

2021-04-06 13:48:26 158

原创 P2602 [ZJOI2010]数字计数【数位dp】

Link数位dp#include<bits/stdc++.h>using namespace std;const int maxn=1e6+5;const int mod=998244353;const long long inf=1e18;const int base=131;const double pi=3.1415926;#define ll long long#define int long long#define ull unsigned long long#

2021-04-05 21:39:14 1650 2

原创 欧拉函数

Link

2021-04-03 20:02:14 89

原创 Codeforces Round #710 (Div. 3) G. Maximize the Remaining String【单调队列、单调栈】

Link题意给定一个字符串,选出一些字符形成新的字符串,使每个字符均只出现一次,要使新字符串字典序尽可能大,求该字符串

2021-03-30 14:37:16 101

原创 2021年度训练联盟热身训练赛第四场 I.Slot Machines【KMP】

LinkKMP题意给定n个数字,令k为该组数组产生循环的下标(即从k~n都循环),p为循环节的长度,要使k+p最小,求(k,p),若有多组求p最小的那组分析将数字抽象为字符串令S为原串的最小循环节,则原串的形式应为XSSS...SSSxXSSS...SSS_xXSSS...SSSx​其中XXX表多余的字符串,SxS_xSx​表SSS的前缀进一步分析令SyS_ySy​为SSS的后缀设原串为:XSSSSxXSSSS_xXSSSSx​即:XSxSySxSySxSySxXS_xS_yS_x

2021-03-29 19:36:13 1334 1

原创 2021年度训练联盟热身训练赛第四场 C.Game Map【拓扑排序、dp】

Link拓扑排序 / dp题意给定一张无向图,求一组点,使得两个相邻的点在图中邻接且该组点的入度(出度)呈严格递增,要使点的数量尽可能多,问该组点的数量最多是多少?分析所选的点必须在图中邻接,且使入度(出度)递增,则只要算出每个点的入度,跑dfs进行dp即可转移方程:if(ru[u]<ru[v])if (ru[u]<ru[v])if(ru[u]<ru[v])dp[u]=max(dp[u],dp[v]+1)dp[u]=max(dp[u],dp[v]+1)dp[u]=max(

2021-03-29 15:53:12 188

原创 ACM-ICPC 2017 Asia Urumqi A.Coins【概率dp / 期望dp】

Link概率dp/期望dp题意n个硬币初始朝下,掷m次,每次任意选k个投掷,问在采取最优策略下(使朝上硬币尽可能多),m次后朝上的硬币的数量的期望是多少?分析最优策略:尽可能的选朝下的硬币投掷令dp[i][j]表示为投i次后有j个硬币朝上的概率令x为第i次投掷完后,k个硬币中有x个朝上(0<=x<=k)考虑转移方程。由于采取最优策略,假设所取硬币全部朝下,则dp[i][j]对dp[i+1][j+x]有贡献。假设由于朝下硬币数量过少,无法取到k个,则需由朝上硬币代替

2021-03-23 22:24:08 131 1

原创 组合数学

Link

2021-03-23 14:37:08 118

原创 求a/b的逆元

int x=inv(b,mod-2)%mod;int ans=a*x%modans即为a/b关于mod的逆元

2021-03-20 22:01:26 453

原创 2021-03-14

https://codeforces.com/problemset/problem/1458/A辗转相除不仅适用于两个数 gcd(x, y) = gcd(x, y - x),它适用于多个数 gcd(a1+bj,a2+bj,…,an+bj)=gcd(a1+bj,a2+bj,…,an+bj−an-1−bj)最后 gcd(a1+bj,a2+bj,…,an+bj)=gcd(a1+bj,a2−a1,…,an−an-1)先预处理 gcd(a2−a1,…,an−an-1), 最后O(n)对每个a1+bj 算gcd

2021-03-14 19:28:05 73

原创 数据库期末复习

一、数据库系统概论DB:数据库DBMS:数据库管理系统(数据库系统核心,管理和控制数据)DBS:数据库系统人工管理阶段文件系统管理阶段:程序与数据有了一定独立性数据库系统管理阶段4. 数据库系统特点:数据结构化、共享高、冗余低、易扩充、数据独立性高二、数据库系统结构数据模型:概念模型(如E-R模型)、逻辑模型(如层次、网状、关系模型)、物理模型数据库系统的三级模式:外模式、概念模式、内模式。外模式:即用户模式,局部数据。一个数据库可有多个外模式。概念模式:所有用户的公共

2021-01-12 15:02:45 4468 3

原创 计算机网络期末复习

面向考点预习一、计算机网络与因特网协议协议:协议定义了网络实体之间发送和接收消息的格式、意义、顺序以及对消息传输、接收采取的行动协议的三要素:语法、语义、时序因特网构成网络边缘:主机:客户端和服务器主机即端系统即资源子网网络核心:互联的路由器网络网络即通信子网电路交换及其特点通信双方必须先建立一个专用的连接(电路),一直维持,直到通信结束。如,电话网络。预先分配给的端到端通信的资源。专用资源:不共享分组交换及其特点存储和转发:整个数据包必须到达路由器,

2021-01-05 17:22:13 1484

原创 操作系统期末复习

操作系统期末复习操作系统的作用OS是用户与硬件系统之间的接口(命令方式、系统调用方式和图形、窗口方式)OS是计算机系统资源的管理者(处理器、存储器、I/O设备、文件)OS是扩充机/虚拟机(覆盖了软件的机器称为扩充机或虚机器)基本的操作系统批处理操作系统(目标:资源利用率、系统吞吐量,多道:多个作业并发运行)实时操作系统(目标:快速响应)分时操作系统(多路性:一主机多终端,独占性:一用户一终端,及时性:及时响应,交互性)操作系统的基本特征(OS最基本特性:并发和共享)程序的并发执

2020-12-14 18:29:07 632

原创 约数个数定理

约数个数定理欢迎使用Markdown编辑器对于任意一个大于1的正整数n,存在n=p1a1*p2a2*p3a3…*pkak,其中p1到pk均为素数。n的因数数量为(a1+1)(a2+1)…(ak+1)新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖

2020-12-14 00:44:41 490

空空如也

空空如也

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

TA关注的人

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