- 博客(107)
- 资源 (12)
- 收藏
- 关注

原创 树形dp——树的重心(2) 代码调试理解
和树的最大独立问题类似,先任选一个结点作为根节点,把无根树变成有根树,然后设d(i)表示以i为根的子树的结点的个数。不难发现d(i)=∑d(j)+1,j∈s(i)。s(i)为i结点的所有儿子结点的编号的集合。程序也十分简单:只需要DFS一次,在无根树有根数的同时计算即可,连记忆化都不需要——因为本来就没有重复计算。那么,删除结点i后,最大的连通块有多少个呢?结点i的子树中最大有max{d(j)}个...
2018-04-11 19:30:09
258

原创 POJ hotel 线段数维护区间长度,输出最左端值(hdu 屌丝女神)
分类:线段树维护长度题目,连续区间题目大意:Hotel有N(1 ≤ N ≤ 50,000)间rooms,并且所有的rooms都是连续排列在同一边,groups需要check in 房间,要求房间的编号为连续的r..r+Di-1并且r是最小的;visitors同样可能check out,并且他们每次check out都是编号为Xi ..Xi +Di-1 (1 ≤ Xi ≤ N-Di+1)的房间,题目...
2018-04-09 19:14:07
183

原创 上海交大机试真题—最短路径(最小生成树解法)
题目描述N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的最短距离输入描述:第一行两个正整数N(2<=N<=100)M(M<=500),表示有N个城市,M条道路接下来M行两个整数,表示相连的两个城市的编号输出描述:N-1行,表示0号城市到其他城市的最短路,如果无法到达,输出-1,数值太大的以MOD 100000 的结果输出...
2018-03-26 20:08:24
885
原创 C/C++ 静态库和动态库的区别
可执行目标文件可重定位目标文件共享目标文件静态库和动态库的区别:生效阶段不同,静态库是在编译阶段就会把其链接到可执行目标文件中;动态库是在程序运行过程中指定路径或者系统动态库路径下寻找。-lm 链接math动态库,在程序运行时去找系统动态库路径下的所有动态库,看有无要找的符号比如静态链接:gcc -static -o main main.o -lm在这个过程中,就会用到系统中的静态库libm.a。这个过程做了什么呢?首先第一条命令会将main.c编译成可重...
2021-11-20 15:00:29
1107
原创 java连接mysql8
@Test public void testMysql() { //声明Connection对象 Connection con; //驱动程序名 String driver = "com.mysql.cj.jdbc.Driver"; //URL指向要访问的数据库名mytest String url = "jdbc:mysql://localhost:3306/mytest" + ..
2021-11-02 22:11:55
2327
原创 各种喜好配置【2021.10】
百度拼音:极简皮肤 中文等线, 英文cambria,字号18idea clion等: forward和back的快捷键修改notepad++: 默认字体设置为consolas 加粗
2021-10-16 20:51:49
265
原创 python环境问题踩坑
python2.7.9版本以下不带Pip 不要装;一定装2.7.14版本以上;不要装32位ImportError: cannot import name _remove_dead_weakref、python interpreter 重新加一个system interpreterdll loadlib winrandom 无效的win32程序--- 重装python64位!!!...
2021-06-21 22:22:08
702
原创 [JDK翻译][Executor][ExecutorService]
Executor执行提交的Runnable任务的对象。此接口提供了一种将任务提交与每个任务运行方式的机制解耦的方法,包括线程使用、调度等的详细信息。通常使用Executor而不是显式创建线程。例如,您可以使用: Executor executor = anExecutor; executor.execute(new RunnableTask1()); executor.execute(new RunnableTask2());但是,Executor接口并不严格要求执行是异步的。在最
2021-05-19 16:18:36
152
原创 task_struct源码
struct i387_struct{long cwd; // 控制字(Control word)。long swd; // 状态字(Status word)。long twd; // 标记字(Tag word)。long fip; // 协处理器代码指针。long fcs; // 协处理器代码段寄存器。long foo;long fos;long st_space[20]; ...
2021-03-20 17:41:36
286
原创 利用pmap查看进程的地址空间
对于mmap,实际上是创建了/或者合并一个新的线性地址区间测试代码如下:不调用mmap:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/mman.h>int main(){ char *bufp; int fd; st.
2021-03-19 11:02:51
373
原创 C实现堆
//C语言真实堆实现int Heap[28]; //最大堆int free23,busy;//维护长度int len;//heapLenvoid Down(int* A, int root, int len){//update int todo = A[root]; int child = root*2; for(;child<=len;child = root*2){ if(child < len && A[child]<.
2021-03-08 17:39:05
144
原创 Spring准备
1、IOC AOP依赖倒置的实现 通过依赖注入 setter构造参数接口AOP运行期不改变代码对方法进行增强 通过动态代理 比如日志事务管理权限2、列举注解、创建bean有哪些注解: component bean service controller repository configration resoure @Value普通属性 @Scope@PostConstruct @Predestory @AutoWired列举xml中标签 &l...
2021-03-05 17:50:00
80
原创 ThreadLocal
ThreadLocal每个线程的局部变量,每个访问一个线程(通过它的get或set方法)都有自己的独立初始化的变量副本。ThreadLocal实例通常是类中的私有静态字段,它们希望将状态与线程(例如,用户ID或事务ID)关联。package com.example.learnconcurr;//import org.apache.log4j.Logger;import lombok.extern.slf4j.Slf4j;import org.slf4j.Logger;import or..
2021-02-17 20:07:12
99
原创 mybatis源码阅读
说下mybatis执行一个sql语句的流程执行语句,事务等SqlSession都交给了excutor,excutor又委托给statementHandlerSimpleExecutor:每执行一次update或select,就开启一个Statement对象,用完立刻关闭Statement对象。(可以是Statement或PrepareStatement对象)重用ReuseExecutor:执行update或select,以stringsql作为key查找Statement对象,存在就使用,不存.
2021-01-23 15:02:23
372
原创 mybatis基础综合/常见面试题
概念/作用:持久层框架,通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。最后mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。数据源环境environment可以配置多个mapper文件里面配置了多个se
2021-01-23 14:49:41
266
原创 mysql-mybatis 8.0版本配置====解决could not create connection to database server.
8.0版本有两个改动1、jdbc的驱动必须设置为com.mysql.cj.jdbc.Driver2、指定时区serverTimezone=GMT%2B8jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8jdbc.username=rootjdbc.password=root对应的驱动jar包也要改为8.0版本<de...
2021-01-23 11:22:06
244
原创 01-mybatis源码阅读
mybatis中sql语句是如何执行的?创建Preparestatement语句public int doUpdate(MappedStatement ms, Object parameter) throws SQLException { Statement stmt = null; int var6; try { Configuration configuration = ms.getConfiguration...
2021-01-16 17:57:49
90
原创 2020-12-22
#include <iostream>#include <string>#include <cstring>#include <stack>using namespace std;const char MOVEIN = 'S';const char REDUCTION = 'R';const string GRAMMAR[6] = { "S E", "E E+T", "E T", "T (E)", "T i", "T i..
2020-12-22 17:41:01
121
原创 2020-12-21
Warrior.cpp#include "Warrior.h"#include <vector>#include <bits/stdc++.h>Warrior::Warrior(int HP, int FP):Piece("W",HP){ this->FP = FP;}void Warrior::attack(vector<Piece*> &opponents){ int len = opponents.size();
2020-12-21 11:56:46
145
原创 2020-12-21
#include <bits/stdc++.h>using namespace std;int main(){ ofstream fout("tripod.txt"); if(!fout.is_open()){ cout<<"File open error!"; exit(1); } int h; do{ cout<<"h? "; cin>&.
2020-12-21 10:01:42
103
原创 T152
#include<stdio.h>#include<string.h>int n,k;int a[5000010],c[5000007];int main(){ int i,num; while(~scanf("%d %d",&n,&k)){ memset(c,0,sizeof(c)); for(i=1;i<=n;i++){ cin>>a[i]; c[a[i]]++; } num=0; .
2020-12-18 15:23:11
153
1
原创 spfa
被改进的点入队列继续改进其他点,直到没有点被改进#include <bits/stdc++.h>using namespace std;#define INF 0x7fffffffvector<int> adj[200005];int n,m,dis[200005];void spfa(int st){ queue<int> q; q.push(st); bool vis[200005]={0}; dis[st]=0;.
2020-12-18 12:16:03
135
原创 【Dijkstra算法】未优化版+优先队列优化版
https://blog.youkuaiyun.com/YF_Li123/article/details/74090301Dijkstra算法伪代码://G为图;数组d为源点到达各点的最短路径长度,s为起点Dijkstra(G, d[], s){ 初始化; for(循环n次) { u = 使d[u]最小的还未被访问的顶点的标号; 记u已被访问; for(从u出发能到达的所有顶点v) { .
2020-12-18 12:13:01
197
原创 2020-12-17 【 java优先队列的用法】
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.math.BigInteger;import java.util.*;import java.lang.Math.*;public class Main { public static class Node { int i,j,sum; }; public..
2020-12-17 22:28:17
196
1
原创 【错误里程表】8进制转10进制
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.math.BigInteger;import java.util.Arrays;import java.util.HashMap;import java.util.HashSet;import java.util.Scanner;import java.lang.Math.*;public..
2020-12-17 21:31:33
280
原创 T5
#include <bits/stdc++.h>using namespace std;int main(){ //fileSet(); int n; int a[105],v[105]; int c[100005]; int tot; while(~scanf("%d\n",&n)){ for(int i=1;i<=n;++i) { cin>>a[i]>>v[i..
2020-12-17 17:55:50
114
原创 2020-12-15
#a问:#A中没有元素等于0,则A中元素的和和积的pair(sum, product),如果A中元素等于0,则输出为pair (null, null)def FindSumAndProduct(li): if(len(li) == 0): return (None, None) leng = len(li) v = li[leng-1] if(v == 0): return (None, None) sum = v pr.
2020-12-15 17:00:33
95
原创 T75 大数加法+取模
#include <bits/stdc++.h>using namespace std;#define ll long longll dp[1005][7];int main(){ fileSet(); memset(dp,0,sizeof(dp)); dp[0][1]=1; dp[1][2]=1; dp[1][6]=1; for(int i=2;i<=1000;++i){ for(int j=1;j<=6..
2020-12-11 15:18:00
267
原创 2020-12-06
#include <bits/stdc++.h>using namespace std;#define ll long longint main(){ string str; int n; string a[101]; int cnt[110]; while(cin>>str) { scanf("%d",&n); for(int i=0;i<n;i++) cin>>..
2020-12-06 18:17:08
67
原创 2020-12-06
T68#include <bits/stdc++.h>using namespace std;#define ll long longint ans;int n;int mat[105][5];int dir[][2] = {{-1,0},{1,0},{0,-1},{0,1}};int vis[105][5];bool isValid(int x,int y){ return (x >= 0 && x < n) &&.
2020-12-06 16:01:58
61
原创 【14题】02 大数加法
T172转换为图论直接dfs即可#include <bits/stdc++.h>using namespace std;#define ll long longvector<vector<int>> vec;set<int> ans;int vis[26];void rec(int st){ ans.insert(st); for(int i=0;i<vec[st].size();++i){ i...
2020-12-03 17:38:43
125
原创 【计算机如何计算布尔/算术表达式】中缀表达式转后缀表达式 计算算式值
//input:A*(B+C)-d/(e+f) output:[A, B, C, +, *, d, e, f, +, /, -]public class Pro2 { public static Stack<Character> s1 = new Stack<>(); public static Stack<Character> s2 = new Stack<>(); public static void...
2020-11-30 23:13:36
340
原创 170
#include <bits/stdc++.h>using namespace std;#define ll long longint main(){ int n; set<ll> se; while(cin>>n){ if(n==0) break; se.insert(n); } for(set<ll>::iterator it=se.begin();it!=se.end();++it){ if(it!=se.begin())..
2020-11-29 20:28:09
76
原创 2020-11-29
#include <bits/stdc++.h>using namespace std;#define eps 1e-8int r,num; struct Point{ double x,y; Point(){} Point(double tx,double ty){x=tx;y=ty;}}poinr[205]; double distance(Point p1,Point p2){ return sqrt(pow(p1.x-p2.x,2)+pow(p1.y-p..
2020-11-29 20:08:14
193
原创 T88
#include<stdio.h>#include<math.h>#define MAXZHISHU 23int zhishu[MAXZHISHU][MAXZHISHU];double Com(int n, int k) { if (n < MAXZHISHU) { return zhishu[n][k]; } double ans = 1; int i; for (i = 1; i <= k; ++i) ans *= (double)(n ..
2020-11-29 18:57:47
228
原创 2020-11-29
#include <bits/stdc++.h>using namespace std;#define ll long longll ans=0;void dfs(int n,int m,int k,int cur){ //剪 //cout<<n<<" "<<m<<" "<<k<<" "<<cur<<endl; if(m==0){ if(n==0) ..
2020-11-29 16:46:23
155
原创 python过滤器 lambada表达式 可变元组字典参数**kwargs
#过滤器的使用,判断是否是回文数字#filter()的作用是从一个序列中筛出符合条件的元素。由于filter()使用了惰性计算,所以只有在取filter()结果的时候,才会真正筛选并每次返回下一个筛出的元素。def is_palindrome(n): n = str(n) if len(n)==1: return True l = len(n) for i in range(l//2): if n[i]!=n[l-i-1]: ..
2020-11-29 15:42:53
235
原创 2020-11-27
#include <bits/stdc++.h>using namespace std;void insertionSort(int arr[], int left, int right) { for (int i = left + 1; i <= right; i++) { int temp = arr[i]; int j = i - 1; while (j >= left && a..
2020-11-27 20:33:45
67
原创 2020-11-23
public static int getMinTransform(String str1,String str2) { if (null == str1 || null == str2) return -1; // 两字符串长度不一必定无法转化 if (str1.length() != str2.length()) return -1; // 两字符串相等 无需转化 if (str1.equals(str2)) r..
2020-11-23 16:03:38
74
王道2019计算机组成原理
2018-08-14
Hadoop权威指南_保证第四版_中文版
2018-06-12
建模比赛论文模板
2018-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人