- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 Java内部类
内部类是第五大成员底层源码有大量的内部类局部内部类局部内部类是定义在外部类的局部位置,通常在方法,可以直接访问外部类的所有成员,包括私有的,不能添加访问修饰符,可以用final修饰作用域仅在方法或代码块{}中public class Main{ public static void main(String[] args){ Outer o = new Outer(); o.m();//100 }}class Outer{ private
2021-09-13 15:22:08 152
原创 软件工程复习第七章编写程序
编码的指导原则控制结构根据模块化来构建程序在编写程序时,要牢记通用性(generality)是一种优点,考虑耦合性和内聚度,构件之间的依赖关系也必须是可见的,程序的子结构也应该彼此之间隐藏具体的计算细节,算法关注实现的性能或效率,所以应该在执行时间设计质量,标准和客户需求之间平衡考虑,尤其是,不要牺牲代码的清晰度和正确性来换取速度数据结构1、保持程序简单2、用数据结构来决定程序结构通用性指导原则1、局部化输入和输出2、包含伪代码3、改正和重写,而不是打补丁4、复用(
2021-07-01 09:25:41 119
原创 codeforces1236B题解
题目链接题目大意:将n种物品装入m个箱子里,限制:每个物品在m个箱子中必出现一次,且每个箱子中的物品种类应互不相同。思路:对于每一个物品而言,它不可以不放,则可取m的子集来作为放的方案数,从而答案为(2m−1)n(2^m - 1)^n(2m−1)n种代码:#include<bits/stdc++.h>using namespace std;int n,m;const int mod = 1e9 + 7;typedef long long ll;int qmi(int a,
2021-03-14 10:53:15 98
原创 Matlab学习
本次进行了绘图动画的学习X = -2*pi:0.1:2*pi;Y = sin(X);h = plot(X,Y);while true X = X + 0.1; Y = sin(X); set(h,'XData',X,'YData',Y); drawnow;endset指设置变化后所对应的X,Y;drawnow指对当前X,Y的对应绘图本图所描绘的是sinx的不断移动theta = -10 * pi:0.1:10 * pi;X = cos(theta);
2021-03-11 00:36:20 163
原创 洛谷P5149 会议座位
P5149 会议座位字符串哈希 + 归并排序代码#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 10;string a[N];int tr[N];int n;int lowbit(int x){ return x & -x;}void add(int a,int b){ for(int i=a;i<=n;i+=lowbit(i)) tr[i] += b; }int query
2021-02-18 21:43:28 84
原创 splay学习笔记
记录splay的区间操作之区间加法#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;typedef long long ll;const int N = 1e5+10,INF = 1e9;int w[N];struct node{ int s[2],p,v; int size; ll add
2021-01-14 22:07:47 103
原创 权值线段树学习笔记
权值线段树所存的值并非是下标,而是数组中数的值,可以很方便的解决诸如求区间第k大数的问题记录一下#include<bits/stdc++.h>using namespace std;const int N = 1e5+10;int w[N],a[N];int n;struct node{ int l,r,sum;}tr[N*8];void build(int root,int l,int r){ tr[root]={l,r,0}; if(l == r)
2021-01-02 16:38:31 84
原创 插头dp
难度很大,推荐 直接写暴力+剪枝插头dp是由《基于连通性状态压缩的动态规划问题》而产生的eg 模板题对于每个格子而言只有C24=6C_2^4 =6C24=6种情况,而只会考虑每条小边上的情况,记录是否有边出来,其次应该维护连通性,那几个出来的边属于一个连通块记录连通块的方法1、最小表示法,则此图的情况为2、括号表示法(没有最小表示法通用)由于本题是一个回路,则如有往上的边则一定存在与之配对且向下的边性质1:两两配对性质2:路径间不可能交叉由这两个性质可以视为一个括号序列,则一个三进
2020-12-04 20:10:40 112
原创 KMP的一些笔记
KMP的一些笔记主要记录一些kmp的简单应用1、2、思路:n-ne[n]3、思路:与上题相同4、思路:kmp找出所有ne[j]=B的位置,从左−>右贪心能选就选kmp找出所有ne[j]=B的位置,从左->右贪心能选就选kmp找出所有ne[j]=B的位置,从左−>右贪心能选就选5、思路:最长周期即最小border,在树上dfs一遍,可通过路径压缩优化6、思路:...
2020-11-22 21:45:23 104
原创 CDQ分治笔记(持续更新)
CDQ分治即对于每个i,有多少个j使得aj<=aia_j<=a_iaj<=ai,bj<=bib_j<=b_ibj<=bi,cj<=cic_j<=c_icj<=ci一维:排序即可二维:①:树状数组解决即可值域统计后插入元素即可②:分治加双关键字排序(便于处理aj<=ai,bj<=bia_j<=a_i,b_j<=b_iaj<=ai,bj<=bi)的情况egegeg 逆序对:①:
2020-11-20 20:54:23 177
原创 后缀数组学习笔记(算法进阶课)
后缀数组学习笔记(倍增)基础定义子串:就是字符串的一部分,必须连续。后缀:是一种子串,它的结尾必须为字符串的最后。大小比较:就是字典序比较,从头开始比,不相同的话字典序大的那个大,假如相同就向后移动。假如移到其中一个串的结尾还相同的话,长的那个大。后缀数组:把所有的后缀编号,排序后把编号存在这个数组里。名次数组:存的是每个后缀的名次在此需要用到基数排序...
2020-11-17 20:03:15 142
kuangbin的ACM模板.pdf
2020-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人