自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(557)
  • 资源 (2)
  • 收藏
  • 关注

原创 pathlib 面向对象的文件系统路径

pathlib 面向对象的文件系统路径

2022-06-06 15:15:30 266 1

原创 mongod-pymongo

#安装# https://www.mongodb.com/download-center/community# 启动# 创建data\db目录# bin目录下命令行执行# mongod --dbpath c:\data\dbimport pymongomyclient = pymongo.MongoClient("mongodb://127.0.0.1:27017/")# 创建数据库 数据库需创建集合并插入文档后真正创建 databasemydb = myclient["testb.

2022-01-05 10:13:16 681

原创 boost multi_index 学习笔记

官方文档简介类似STL容器的类模板,可以根据不同的排序方法维护一个或多个索引的容器,更够使用类似STL的接口对容器进行插入查询等操作,并有对象搜索,范围查询,计算行列等功能。命令空间::boost::mulit_index索引类型Ordered indices 有序索引,会进行排序,分为 unique and non-unique。Ranked indices 排序索引Sequenced indices 顺序索引,类似listHashed indices 哈希索引,提

2020-07-31 15:28:57 364

原创 sqlite_orm学习笔记

介绍适用于C++的SQLite数据库的orm,https://github.com/fnc12/sqlite_orm基本语法创建表表结构struct User{ int id; std::string firstName; std::string lastName; int birthDate; std::unique_ptr<std::string> imageUrl; int typeId;};struct UserType {

2020-07-27 20:46:04 5045 4

原创 leveldb学习笔记

官方文档https://github.com/google/leveldb常用命令leveldb::DB* db;leveldb::Options options;options.create_if_missing = true; //当不存在是创建leveldb::Status status = leveldb::DB::Open(options, “/tmp/testdb”, &db);assert(status.ok());options.error_if_exists =

2020-07-21 21:02:46 219 1

原创 git命令

git branch dev 创建分支devgit branch -d dev 创建分支devgit branch 查看当前分支git checkout dev 切换到dev分支git switch dev 切换到dev分支git status 查看变化工作目录和暂存区状态git merge dev 将分支合并的mastergit commit -m “…” 将缓存区改动提交到本地管理库git add <file> 将工作区修改添加到缓存区git push origin

2020-07-21 21:02:34 106

原创 CMake笔记

简介是一个与平台无关,通过编写CMakeList.txt文件来实现对工程进行配置的编译工具。语法规范1 语法简单,由命令,注释,空行组成。 (注释为 # 后面内容)2 命令格式:命令名称 小括号 参数(参数之间通过空格分隔)...

2020-07-21 21:02:25 92

原创 C++关键字笔记

C++关键字阅读C++primer看到关键字不可做变量名,于是对关键字了解总结一下。alignasC++11后的关键字,作用是改变数据对齐属性,不允许小于结构体原有对齐大小,aligns(n) n指的是字节大小,且只能是2的整次幂。举例:struct A{ int a; alignas(2) short b; //不生效};struct alignas(8) B{ int a; short b;};struct C{ int a; alig

2020-07-11 21:54:38 125

原创 如果写伪代码笔记

介绍伪代码(Pseudocode)是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。(百度百科)要点变量:不需要声明变量类型,对于重要变量加以注释。变量赋值: a ⬅ 3(把3赋值给a) ⬅ 比较麻烦 可以使用 =表达式: 算数运算符 + - * / ^ 关系运算符 = != > < <= >= 逻辑运算符 and or not条件语句:if x = 1 then ***** else *****if x = 1 then ***

2020-07-10 22:47:08 120

原创 leetcode 第 196 场周赛

第一次参加力扣的比赛,结果给忘记了,想起来的时候快结束了,只做了两个题,可惜可惜。A题目给你一个数字数组 arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。题解排序:对数组sort一下,求出公差,for一边判断一下。不排序:遍历一遍,记录MAX和MIN,并hash一下记录出现的元素,然后通过MAX,...

2020-07-05 22:13:18 724

原创 leetcode 124. 二叉树中的最大路径和

题目给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。思路简单题,dfs返回当前节点为一端的最大链。答案有两种情况,1 当前节点到子孙的一条链 2 当前节点为中端,两端为子孙。class Solution { public: int MAX = INT_MIN;public: int maxPathSum(TreeNode* root) { maxPa

2020-06-30 23:19:31 95

原创 leetcode 55. 跳跃游戏

题目给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。思路1 暴力贪心,维护当前能到达的最远位置,若当前位置不可达,则失败。class Solution {public: bool canJump(vector<int>&

2020-06-30 22:51:27 74

原创 剑指 Offer 54. 二叉搜索树的第k大节点

题目给定一棵二叉搜索树,请找出其中第k大的节点。题解好久没打代码了,练练手,知识点题目,中序遍历。递归class Solution {public: int ans = 0; int cnt = 0; int kthLargest(TreeNode* root, int k) { dfs(root,k); return ans; } void dfs(TreeNode* root,int k){ if(roo

2020-06-30 22:25:35 2938

原创 Shell总结4

sed流编辑器,用来处理文件一行行读取文件内容,并按照要求进行处理,将结果输出到屏幕。不会修改原文件sed两种语法格式 命令行模式,脚本模式sed 选项 ‘处理动作‘ 文件名选项-e 进行多次编辑-n 取消默认输出-r 使用扩展正则表达式-i 原地编辑(修改源文件)-f 指点sed脚本文件名处理动作(必须加单引号)’p’ 打印‘i’ 在指定行之前插入内容’a’ 在指定行之后插入内容‘c’ 替换指定行所有内容’d’ 删除指定行‘r’ 读入其他文件‘w’ 保存’&

2020-06-29 18:36:30 124

原创 Shell总结 3

随机数系统变量 RANDOM,默认产生0-32767的随机整数echo $RANDOM

2020-06-27 22:39:16 108

原创 Shell总结2

介绍shell 是一个解析命令,是人机交互的桥梁,将需要执行的命令保存在文本中,按照顺序执行。作用用来解决重复化的工作1 自动化软件部署2 自动化管理 系统初始化脚本,批量更改主机信息3 自动化分析处理 统计网站访问量4 自动化部署 数据库备份,日志转储5 自动化监听脚本基础语法开头 #!/bin/bash 或 #!/bin/enc bash注释 #…执行1:chemod +x .sh #修改执行权限/…/.sh 执行2:直接指定解析器bash

2020-06-24 23:06:56 154

原创 Shell总结1

grep:过滤工具#grep 选项 ‘关键字’ 文件名grep ‘int’ a.c 过滤a.c中包含 ’int’的行gerp --color=auto 标注颜色 (可以在/etc/bashrc 里进行修改 alias grep=‘grep --color=auto’常用选项:-n 显示行号 -i忽略大小写 ^处于行首 $处于行尾 grep -ni ’ ^int’ a.c-v 取反 -B 前几行 -A 后几行 -C前后行 gerp -nA 3 ’int’ a.c-w 纯单词 -

2020-06-12 17:27:43 116

原创 Base62 大数

题目https://nanti.jisuanke.com/t/42389题意进制转换思路java大数代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto...

2019-12-06 09:10:22 247

原创 Dreamoon and NightMarket Gym - 101234G (二分答案)

题目https://vjudge.net/problem/Gym-101234G题意给你n个数,为你这n个数组成的集合中和第k小的是多少思路二分答案#include <bits/stdc++.h>using namespace std;const int maxn = 2e5+100;const int maxm = 1e6+100;int a[ma...

2019-10-29 16:43:22 253

原创 Count on a tree II SPOJ - COT2 (树上莫队)

题目https://vjudge.net/problem/SPOJ-COT2题意给你一颗树 若干次询问 每次问一条链上有多少不同的点思路树上莫队代码#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+100;vector&lt...

2019-10-25 21:05:05 171

原创 CDQ分治

题目https://vjudge.net/problem/Gym-100247K代码#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 2e5+10000;struct node{ int a,b,c,ans;}a[maxn],tmp[m...

2019-10-25 20:57:42 122

原创 Ivan the Fool and the Probability Theory (思维DP)

题目https://codeforces.com/contest/1248/problem/C题意给你一个n*m的方格,让你涂成黑白,问每个格子最多和一个临近格子相同的方案数思路推理发现如果某一行存在一个相邻的相同,那么他的下一行是固定的只有一行的方案数很好求 dp[i] = dp[i-1] + dp[i-2]这个相邻的可能在某一列也可能在某一行,ans = dp[n]...

2019-10-23 16:32:53 241

原创 Kingdom of Obsession HDU - 5943 (二分图)

题目https://cn.vjudge.net/problem/HDU-5943题意给你n和s表示n个人 标号为s+1,s+2......s+n有n个座位 标号为1,2.....n,如果人的标号能整除座位 那么他就可以做这个座位问这n个人能不能都坐下思路对于质数 他只能做本身 质数间隔很小 也就是说 n>1000 s>1000 是肯定不行的1 如果n...

2019-10-10 22:06:52 116

原创 Two HDU - 5791 (DP)

题目https://cn.vjudge.net/problem/HDU-5791题意给你两个数组 问这两个数组子序列有多少相同的思路dp[i][j] 表示第一个数组前i个和第二个数组前j个的子序列有多少相同的转移式if(a[i] == b[j]) dp[i][j] = (1 + dp[i-1][j-1] ) + dp[i-1][j] + dp[i][j-1] - dp[...

2019-10-10 21:57:27 95

原创 ATM Mechine HDU - 5781 (DP)

题目https://cn.vjudge.net/problem/HDU-5781题意爱丽丝将把她所有的积蓄从自动柜员机中取出。爱丽丝忘了她有多少存款,而这个奇怪的自动取款机不支持查询存款。爱丽丝唯一知道的关于她的存款的信息是上限K元(这意味着爱丽丝的存款x是0到K之间(包括0和K之间)的随机整数)。每次爱丽丝(Alice)可以尝试从自动柜员机(ATM)上取些钱。如果她的存款不少于y,...

2019-10-10 21:51:29 93

原创 Illumination Gym - 101201F (2-sat)

题目https://vjudge.net/problem/Gym-101201F题意给你n个点 问你能不能符合条件条件: 1 每个点选择行或列 会照亮左右或上下r个格子 2 某个点不能被两个同行或同列灯照亮思路2-sat模板题#include <bits/stdc++.h>using namespace std;const in...

2019-10-08 16:25:04 164

原创 2-sat 模板

int dfn[maxn],low[maxn];int vis[maxn],col[maxn];int sta[maxn];int color,cnt,tot;int n,m;void tarjan(int u) //模板{ cnt++; dfn[u]=low[u]=cnt; vis[u]=1; sta[++tot]=u; for(int i...

2019-10-08 15:57:00 115

转载 Strange Tax Calculation UVA - 11529 (几何 求三角形内点数)

题目https://vjudge.net/problem/UVA-11529题意给出若干个点,保证任意三点不共线,任意选三个点作为三角行,其他点若又在该三角形内,则算是该三角形内部的点,问所有情况的三角形平均每个三角形有多少个内部点。思路三角形的总数很容易求C(3n),现在就是要求各个三角形内部点的总数,同样我们可以反过来,求每个点在多少个三角形的内部。然后我们确定一个点,求...

2019-09-28 11:05:19 132

原创 Double Fence Gym - 101484E (二维凸包)

题目https://vjudge.net/problem/Gym-101484E题意给你两个凸包 判断是否是一个凸包包含另一个凸包,即不相交思路两个凸包所有点求一次凸包,看所选点是否是来自同一个凸包需要注意一点是 共线点要全部算上代码 #include<stdio.h>#include<math.h>#include<algor...

2019-09-27 18:52:17 119

原创 二维凸包

#include<stdio.h>#include<math.h>#include<algorithm>#include<iostream>using namespace std;const int MAXN=1000;struct point{ int x,y;};point list[MAXN];int stac...

2019-09-27 16:21:35 82

原创 Counting Good Teams Gym - 101484K (高维前缀和)

题目https://vjudge.net/problem/Gym-101484K题意给你n个数 问有多少合法数对定义合法为 A||B > max(A,B)思路高位前缀和 看代码#include <bits/stdc++.h>using namespace std;typedef long long ll;int dp[(1<<...

2019-09-27 16:15:16 136

原创 Game HDU - 3389 (阶梯博弈)

题目https://vjudge.net/problem/HDU-3389题意1-N带编号的盒子,当编号满足A>B && A非空 && (A + B) % 3 == 0 && (A + B) % 2 == 1则可以从A中取任意卡片到B中,谁不能取了谁就输。思路阶梯博弈阶梯博弈等效为奇数号阶梯的尼姆博弈。假设我们是先手...

2019-09-25 16:55:22 133

转载 博弈-翻硬币游戏

翻硬币游戏一般的翻硬币游戏的规则是这样的:N枚硬币排成一排,有的正面朝上,有的反面朝上。我们从左开始对硬币按1到N编号。第一,游戏者根据某些约束翻硬币,但他所翻动的硬币中,最右边那个硬币的必须是从正面翻到反面。例如,只能翻3个硬币的情况,那么第三个硬币必须是从正面翻到反面。如果局面是正正反,那就不能翻硬币了,因为第三个是反的。第二,谁不能翻谁输。...

2019-09-25 15:57:34 315

原创 JAVA学习

1 读入Scanner cin=new Scanner(System.in);2 多组输入while(cin.hasNextInt())3 保留n为小数DecimalFormat df = new DecimalFormat("#.0");String xx = df.format(ans);System.out.println(xx);System.out....

2019-09-25 09:10:33 105

原创 The Imp Gym - 100543K (博弈DP)

题目https://vjudge.net/problem/Gym-100543K题意n件商品,告诉你价格和价值,你可以买一次,另一个人可以使用魔法魔法的效果是把你买的商品变没,让你在买一次,之前的的花费不返还每件商品只能买一次,问能获得最大利润(利润 = 价值-花费)思路博弈DP 对于每件商品第一个人可以选择买或不买,第二个人可以选择用或不用魔法要注意一点是买的顺序...

2019-09-24 15:12:49 235

原创 Alice and Bob CodeForces - 347C (博弈)

题目https://vjudge.net/problem/CodeForces-347C题意给你一个长度为n的序列。Alice先动,选择序列中随便的两个数,求他们差的绝对值。如果和序列的数不重复就加入序列。如果找不到这样的两个数就算输思路做差的过程可以看做辗转相减就GCD,所以最后所有数为n个数的最大值除以gcd那么产生新数个数就可以知道,如果是奇数,先手赢,如果是偶数,后...

2019-09-21 10:20:33 298

原创 Football Game POJ - 2315 (博弈)

题目https://vjudge.net/problem/POJ-2315题意有n堆石子,两个人轮流操作,每次最多取m次,最多在m堆里取思路1 一堆石头有 n 个,每次可以取 1~m 个的 sg 函数值 = sg[n] = n%(m+1)2XOR 又称半加运算,即只执行加法而不执行进位nim博弈是只能在1堆里取,所以可以直接异或,即在二进制下异或,现在是m堆 所以要在...

2019-09-20 19:42:16 202

原创 World of Darkraft CodeForces - 138D (博弈 棋盘翻转)

题目https://vjudge.net/problem/CodeForces-138D题意n * m 的棋盘,每个点都是L, R, X三者之一,两个人轮流选择没有被激光摧毁过的点,L:往左下,右上发射激光R:往左上,右下发射激光X:往左上,左下,右上,右下发射激光。最后不能选的人输。思路顺时针翻转棋盘45° 游戏就成了矩形分成两个或四个矩形的子游戏代码#in...

2019-09-19 17:00:58 163

原创 A Simple Nim HDU - 5795 (博弈)

题目https://vjudge.net/problem/HDU-5795#author=SCU2018题意给你n堆石子,两种操作1 选择一堆 取任意个2 选择一堆 分成三堆不能操作的人为输思路如果没有第二种操作,就是NIM博弈,每堆石子的sg = 石子个数现在sg[i] = mex(1,2,,,i-1,i-2^1^1,i-3^1^2,,,,)打表发现 sg...

2019-09-19 10:36:11 109

原创 Artwork Gym - 101550A (并查集)

题目https://cn.vjudge.net/problem/Gym-101550A题意问你没涂一次,白块分成多少份思路先都涂完,然后到这删除,没删除一块看合并的多少块代码#include<bits/stdc++.h>using namespace std;const int maxn = 1e3+10;int mp[maxn][maxn];in...

2019-09-03 16:02:40 134

ACM国际大学生程序设计竞赛:知识与入门 俞勇

acm国际大学生程序设计竞赛(acm-icpc)是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球参与人数达20多万。本书作者将16年的教练经验与积累撰写成本系列丛书,全面、深入而系统地将acm-icpc展现给读者。本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm国际大学生程序设计竞赛:知识与入门》介绍了acm-icpc的知识及其分类、进阶与角色、在线评测系统;《acm国际大学生程序设计竞赛:算法与实现》介绍了acm-icpc算法分类、实现及索引;《acm国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路;《acm国际大学生程序设计竞赛:比赛与思考》介绍了上海交通大学acm-icpc的训练及比赛,包括训练札记、赛场风云、赛季纵横、冠军之路、峥嵘岁月。

2018-08-29

ACM国际大学生程序设计竞赛:算法与实现 俞勇

acm国际大学生程序设计竞赛(acm-icpc)是国际上公认的水平最高、规模最大、影响最深的计算机专业竞赛,目前全球参与人数达20多万。本书作者将16年的教练经验与积累撰写成本系列丛书,全面、深入而系统地将acm-icpc展现给读者。本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm国际大学生程序设计竞赛:知识与入门》介绍了acm-icpc的知识及其分类、进阶与角色、在线评测系统;《acm国际大学生程序设计竞赛:算法与实现》介绍了acm-icpc算法分类、实现及索引;《acm国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路;《acm国际大学生程序设计竞赛:比赛与思考》介绍了上海交通大学acm-icpc的训练及比赛,包括训练札记、赛场风云、赛季纵横、冠军之路、峥嵘岁月。

2018-08-23

空空如也

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

TA关注的人

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