- 博客(48)
- 收藏
- 关注
原创 Color Map Optimization for 3D Reconstruction with Consumer Depth Cameras 论文解读
输入color/depth:输入RGB-D相机手持生成的连续图像(.jpg/.png)3d点云文件(.ply)相机轨迹:由KinectFusion生成(.log)相机内参:数据格式KaTeX parse error: Undefined control sequence: \matrix at position 8: \left[\̲m̲a̲t̲r̲i̲x̲{ fx & 0 & cx\…值fx = 525.0; fy = 525.0; // def
2021-11-22 22:05:25
3079
1
原创 关于Matplotlib显示中文乱码的问题
导入自己的字体文件可以导入自己的字体文件from matplotlib.font_manager import FontProperties font_set = FontProperties(fname=r"simfang.ttf", size=15)#导入宋体字体文件plt.title("柱状图",FontProperties=font_set); #图标题plt.xlabel("x轴",FontProperties=font_set);plt.ylabel("y轴",FontPropert
2021-03-31 19:42:17
288
2
原创 Error: Your CLT does not support macOS 11.2 报错解决
报错想在MAC控制台使用ftp,所以brew install inetutils 时报的错误解决方案前往 开发者平台 下载最新的Command Line Tools for Xcode 12.5 beta 3
2021-03-30 16:41:31
1065
原创 我用python那些年
python过程中吐血的tipsmatplotlibsegmentation falut 11请pip uninstall matplotlibpip install matplotlib别问我,我也不知道为什么,stackoverflow是yyds
2021-03-17 19:30:50
142
原创 CCFCSP 202009-3 点亮数字人生
思路拓扑排序,从入度为0的节点开始,逐步查看这个节点是哪些节点的输入,并进行计算即可如果最后仍然存在入度非0的点,说明存在环本题使用邻接矩阵进行计算,注意矩阵别开太大,否则空间占据过大会扣分注意何时初始化邻接矩阵和图节点信息代码#include <iostream>#include <stdio.h>#include <vector>#include <queue>#include <string.h>using name
2020-12-12 14:34:16
313
1
原创 CCFCSP 201812-4 数据中心
思路虽然题目看起来稍微有点复杂(比大模拟题好多了www),但其实就是非常简单的最小生成树,因为kruskal记的比较清楚且空间复杂度稍微低一点就用这个了。注意在找到父亲结点的时候,也需要修改查找父节点一路上的点的father值,之后查找就会减少递归次数,不考虑这点的话只能拿到70分(超时)代码#include <iostream>#include <stdio.h>#include <algorithm>#include <vector>u
2020-12-08 21:20:07
172
原创 CCFCSP 201812-3 CIDR合并(90分超时)
思路没啥可说的,根据题目要求写就好由于比较菜又很懒,所以超时了,就懒得再继续做了这次给我最大的体验就是好好看测试样例,一开始一直0分,看了测试样例才知道感情我排序那一步都没对,才改了cmp函数。代码(90分超时)#include <iostream>#include <vector>#include <algorithm>using namespace std;struct ip{ int four[4]; int len;};
2020-12-07 21:04:20
213
原创 CCFCSP 201903-3 损坏的RAID5
思路老大模拟题了,但如果仔细阅读题意拿到70分难度并不大,如果做一定的简单优化就可以100分主要时间复杂度在cout输出(不写 ios::sync_with_stdio(false); 只能拿到30分)和查找属于第几个盘第几块上,下面附上了循环方法(70分)和非循环纯找规律法(100分)供大家参考循环法就不多说了,遍历每个盘,是p就跳过,不是p就继续直到找到该位置。非循环法则是寻求规律先找到每个盘的首位置先不考虑P,第一个条带就是start,start+1 … start+l,那么 某位置%
2020-12-07 09:55:30
177
原创 CCFCSP 201909-3 字符画
思路wdnmd CCF的大模拟题最恶心的地方不是代码量大,而是题总是说不明白。这道题需要仔细筛选题干找到题目要求。代码写作1小时,看题3小时才从0到100。本题注意事项输出每一个R,G,B对应的值,注意如得到17,输出为"\x31\x37",而非输出17的十六进制(11)输入为16进制,但不知道为啥转为10进制后求平均值,无需转16进制,而是直接转字符串才能通过的。在无重复,非0的情况下每一个代码块前都有"\x1B\x5B\x34\x38\x3B\x32\x3B"在与上一代码块重复情况下(注意
2020-12-04 21:03:53
171
原创 CCFCSP 201909-4 推荐系统
思路这题贼坑,题目的排序方式写的乱七八糟。一开始个人理解里是每一个种类根据id从小到大的原则输出。也就是说:先所有商品根据score排序,再根据搜索命令得到k个score最大的商品,其中0…m类还要限制在k0 , k1,k2,k3,…,km-1的范围内。输出时候根据类从小到大,id从小到大的顺序输出。但其实输出的时候根本无需对每个类中的id排序,只需要根据score从小到大的顺序输出即可,在score相同的情况下才考虑id。针对需要排序并且常做插入和删除操作的情况,我们使用set,并使用map对该
2020-12-04 10:16:27
260
1
原创 我和virtualbox+linux斗争的那些年
先是在Centos上配置了hadoop,后来因为占据内存过大删掉了,再后来又有Spark的相关需求,所以又在Ubuntu上安装了spark和hadoop,在此记录一下踩过的坑Ubuntu网络问题(在NAT+host-only网络下)如果想要上网,在管理工具栏下有主机网络管理器,手动配置一个网卡虚拟机网络配置为NAT+host-only(使用刚刚手动配置的网卡)如果需要将虚拟机之间互ping需要静态配置ip地址(注意配置静态ip后是无法连接外网的)/etc/network/inter
2020-12-02 19:07:55
117
原创 CCFCSP 201912-4 区块链 80分(超时)
思路事实证明不要想太多,我一开始的时候考虑如果时间非顺序输入要如何解决,给自己凭空增加了2小时的无效工作量,事实证明他的数据时间是顺序输入的在1号node更新后,告诉2号考虑一下更新,如果2号更新了,务必要把2号也加入到传播队列里。这里使用队列来进行传播操作,队列中存放着该节点当前时间的状态以及何时需要更新其邻居。本题的顺序应该是,先更新邻居(传播链),再查询,再插入块。由于太过暴力超时了啊哈哈,时间紧迫,所以就没再做改进。代码(80分)#include <iostream>
2020-12-01 21:29:52
209
原创 CCFCSP 201912-3 化学方程式(70分)
思路大模拟题,没啥可说的,左右两侧分别计算元素数量,然后用vector(单纯喜欢用而已,很多大佬似乎用map)判断左右是否配平。遇到左括号,虽然可能存在嵌套情况,但只要找到配套的右括号即可。随后便可以通过括号后面的数字来决定括号里的元素需要乘几倍数。遇到大写字母,看一下后面有没有小写字母了,然后看后面是否有数据,没有数据就默认乘1遇到右括号,继续进行即可遇到加号或者方程一开始,需要找到其后面的数字,有数字则需要相乘,没有数字则代表乘1即可代码虽然给的测试用例全部通过,但只拿到了70分,求助
2020-11-29 21:48:09
235
原创 CCFCSP 202006-4 1246
1246思路代码#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <string>#include <map>using namespace std;#define LL long longmap<string,int> id;const LL mod = 998244353;/
2020-11-21 17:13:58
787
原创 有趣的数
题目问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。 请计算恰好有n位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以1000000007的余数。输入格式 输入只有一行,包括恰好一个正整数n (4 ≤ n
2020-11-02 09:09:28
274
原创 二叉树遍历 二叉树推导
Problem C: 二叉树遍历题目Description二叉树的前序、中序、后序遍历的定义:前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。Input两个字符串,其长度n均小于等于26。第一行为前序遍历,第二行为中序遍历。二叉树中
2020-10-26 16:46:15
303
原创 Problem B: DFS or BFS? 广度优先搜索应用
Problem B: DFS or BFS?题目Description说好了,题目不黑人。给你一个8*8的矩阵,你的初始位置是左下角方格(用’U’表示),你的目标位置是右上角的方格(用’A’表示),其余的62个方格,如果是’.’,表示这个方格为空,如果是’S’,表示这个方格有一块大石头。好了现在你开始从左下角出发,每次可以往上,下,左,右,左上,右上,左下,右下移动一个方格,或者你可以原地不动,一共九个动作方式,在你做完一个动作后,所有的大石头会往下掉一个方格(如果一个大石头的位置是(x,y),那下
2020-10-26 09:31:43
325
4
原创 走迷宫
例题:【递归入门】走迷宫Description有一个nm格的迷宫(表示有n行、m列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这nm个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用-l表示无路)。 请统一用 左上右下的顺序拓展,也就是 (0,-1),(-1,0),(0,1),(1,0)Input第一
2020-10-25 10:09:22
292
原创 算法笔记 栈的应用 简单计算器 中缀和后缀表达式
思路将输入的中缀表达式转后缀表达式遇到数字,则算出数值,直接放入队列(注意数据非仅有一位,需要计算出整个数的值)遇到运算符先判断优先级是否小于栈中top的运算符如果是,将栈中的运算符pop到队列中,直到栈中没有运算符优先级更大为止如果不是,则直接将运算符放入栈中最后如果栈中剩余运算符,则直接放入队列中计算后缀表达式,遍历队列如果为数值,则放入栈中如果为运算符从栈中pop出两个数(注意是先第二个后第一个,后进先出嘛)随后运算最后把计算完成的数放入栈中代码
2020-10-07 20:38:13
167
原创 算法笔记 大整数运算 N的阶乘 大整数排序
大整数相关运算加法#include <stdio.h>#include <iostream>#include <string.h>using namespace std;struct bign{ int d[1005]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};bign change(char str[]){ bign a
2020-10-06 15:43:57
368
1
原创 算法笔记 练习 完数
题目Description求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。Input测试数据有多组,输入n,n数据范围不大。Output对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。Sample Input Copy6Sample Output Copy6思路没啥可讲的,就是找到1-n/2的因子然后sum(最大
2020-09-22 08:53:17
147
原创 算法笔记 素数 Goldbach’s Conjecture
题目DescriptionGoldbach’s Conjecture: For any even number n greater than or equal to 4, there exists at least one pair of prime numbers p1 and p2 such that n = p1 + p2.This conjecture has not been proved nor refused yet. No one is sure whether this conjec
2020-09-20 16:20:17
120
原创 算法笔记 CodeUp Problem A: 素数
题目Description输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。Input输入有多组数据。每组一行,输入n。Output输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。思路由于n<=10000,所以可以考虑先打素数表再输出注意:如果没有素数(也就是说n<=11)则输出-1代码#inclu
2020-09-20 15:54:40
199
原创 算法笔记 分数矩阵
题目我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。请求出这个矩阵的总和。Input输入包含多组测试数据。每行给定整数N(N<50000),表示矩阵为N*N。当N=0时,输入结束。Output输出答案,结果保留2位小数。思路1.Time Limit Exceed 50计算每次矩阵的数,并且打表通过n-1的矩阵值推导求出n的矩阵值最后得到结果代码:#include &l
2020-09-20 11:15:35
488
原创 算法笔记 最小公倍数
思路每输入一个数时,和现有的最小公倍数一起求目前的最小公倍数输入的第一个数最小公倍数即为其本身最小公倍数=(a/最大公约数)*b注意不要使用a*b/最大公约数,避免溢出代码#include <stdio.h>#include <iostream>using namespace std;int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);
2020-09-20 10:36:02
342
原创 随机选择算法 求第K大的数
快排应用思路第K大的数,所以要使用从大到小来排的partition在findK中,先partition出一个结果,再比较K和该位置的相对大小(pos-left+1)来继续左分治/右分治在findK函数中K>M的情况,left需要变化,需要针对left当前递归所在位置来调整K的值,也就是让K-M=K-pos-1+left此时:相对于0的值:leftrightpos+1相对于现left的值K所以相对于新left=pos+1的值为left+K-pos-1代码#include
2020-09-13 20:12:53
367
原创 算法笔记 two pointers涉及算法----归并排序/快速排序
此两种排序的注意事项:都需要一个函数来使用two pointers从数组的两侧开始向内遍历都需要一个函数来表现排序顺序,比如先左后右,merge/partition到底要放在何处,需要写者的算法逻辑清晰merge是先排序,后归并quicksort是先分治,再排序quicksort不同于二分,二分需要遍历到left=right进行查找,而quicksort在left==right时及时跳出,将一开始存储的left处的数据进行回存,从而保证左侧数据均小于且右侧数据均大于现arr[left]归并排
2020-09-13 18:52:24
125
原创 PAT A1033:To Fill or Not to Fill 贪心算法
思路在输入数据后,无法保证是按照从杭州到终点的路途顺序输入的加油站,所以需要先对station进行sort。保证起始站有station,否则无法出发,输出"The maximum travel distance = 0.00"到达一个station时,向后遍历,有如下几种情况:找到一个比当前station1油价便宜的station2,直接从现station1加合适量的油到station2,注意⚠️,其中可能会产生剩油情况,将会在下一个tips说明。需加油量:station[next].Di-.
2020-09-11 17:14:15
221
原创 算法笔记 贪心算法 出租车费
题目要求思路先来分析三种情况n价格n<=4104<n<810+2*(n-4)n>=818+2.4*(n-8)其中,在n>=8的情况下,假如8<n<=12方法1:价格=18+2.4*(n-8) //更为合适方法2:价格=18+1012<n<=16方法1:价格=18+4*2.4+2.4*(n-12) 方法2:价格=18+10+2(n-12) //更为合适以此类推,对于n>=
2020-09-10 21:15:12
572
原创 算法笔记 贪心算法 看电视
题目描述题目分析:本题使用贪心算法,在得到时刻表之后先比较节目结束时间,再比较开始时间。如果先比较开始时间未达到贪心目的,因为开始时间早并不代表结束时间早,但结束时间早开始时间大概率会早。贪心算法代码#include <stdio.h>#include <algorithm>#include <iostream>using namespace std;struct TV{ int startime=0; int endtime=0;
2020-09-10 16:21:32
486
原创 算法笔记 八皇后问题
递归#include <stdio.h>#include <string.h>#include <cmath>#include <iostream>using namespace std;int tot;bool hashmap[10]={false};int pos[10]={0};int Queens[95][9];void generateQ(int index){ if(index==9){ to
2020-09-10 11:27:15
130
原创 Code Up 神奇的口袋
递归方法Accepted100 版本:使用数组存储数据,用hash代表是否已经使用#include <stdio.h>#include <string.h>int count=0;int hash[100]={0};int arr[30]={0};int n=0;void choose(int m,int total){ if(total==40){ count++; return; } for(int x=m;
2020-09-10 09:29:52
150
原创 基于阿里云RDS的MySql DDL使用指南
基于阿里云RDS的MySql学习笔记MySql基础操作Mysql连接mysql -u 数据库名称 -h 内网ip -P端口号 -p密码退出Mysqlmysql> quit;Bye创建数据库CREATE DATABASE 数据库名;创建数据表CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_d...
2020-09-08 08:20:07
260
原创 MySQL和Oracle的sql语言区别
日期数据类型OracleMySQLDateYYYY-MM-DD HH24:MI:SSYYYY-MM-DD 关键字 区别 Oracle MySQL Date 存储数据格式 YYYY-MM-DD HH24:MI:SS YYYY-MM-DD 支持范围 公元前'4712-1-1'到'9999-12-31' '1000-01-01'到'9999-12
2020-09-08 08:19:18
192
原创 CCF CSP 202006-1 线性分类器
方法1数组方法#include <iostream>using namespace std;int main(int argc, const char * argv[]) { int n=0,m=0; cin>>n>>m; int* left=new int [n]; int* right=new int [n]; char* type=new char [n]; for(int i=0;i<n;i++){
2020-09-08 08:18:48
232
原创 CCF CSP 202006-2 稀疏向量
不知道为啥非vector版本不好使#include <iostream>#include <vector>using namespace std;typedef pair<int,int> values;vector<values> u;vector<values> v;int main(){ int n=0,a=0,b=0; cin>>n>>a>>b; for(int i
2020-09-08 08:18:41
213
原创 CCF CSP 202006-3 Markdown渲染器
理解对于普通文本处理文本时:去掉每行首尾的连续空格渲染时:段落和其余段落/项目列表之间空出一行超出一行大小则渲染至下一行如果余下的文本以空格开头,则删除所有空格对于列表处理列表时:删除列表之间的空白行删除开头不是两个空格的行(两个空格就代表该行最前面有一个空格)渲染时:把列表和段落/列表之间空出一行空格 星号 空格 和两个空格转换为 空格 列表点 空格每一个列表的非第一行首都要插入3个空格注意:在渲染列表时,要注意每一行只有n-3个字符代
2020-09-08 08:18:33
504
原创 CCF CSP 201312-2 ISBN
#include <iostream>#include <vector>using namespace std;int main(int argc, const char * argv[]) { string input; cin>>input; int count=0; long long res=0; for(int i=0;i<11;i++){ if(input[i]=='-')
2020-09-08 08:18:06
102
原创 CCF CSP 201312-1 出现次数最多的数
#include <iostream>#include <algorithm>#include <vector>using namespace std;int main(){ vector<int> input; int n=0; cin>>n; for(int i=0;i<n;i++){ int m=0; cin>>m; input.push
2020-09-08 08:17:52
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人