自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10与ubuntu服务器文件传输

背景: 最近要跑一个程序,但是没有空闲电脑,所以想到用一波服务器,无奈找了很多方法,最后有人给我推荐了winscp,这个确实很好用,并且还是图形界面orz 使用流程:打开之后会出现这个对话框,其中我们需要在主机名处填上服务器ip,这个可以在服务器上利用ifconfig -a查看,下面一行我们需要填上我们的账号。登陆后我们就可以进行文件传输。跑程序: ...

2019-03-30 22:20:48 1254

原创 Win10上使用bash远程连接ubuntu服务器

背景: 最近在做的项目都i是在服务器上的,然而服务器都是ubuntu系统,迫于无奈装了个双系统,不过前两天突然发现从win10也可以远程连接ubuntu服务器,所以今天赶紧学习记录一下。流程:1 打开开发者模式点击左下角的消息通知,然后点击所有设置,随后点击更新和安全 ,点击开发者选项。2 打开适用于linux的windows选项在搜索中打开控制面板,然后...

2019-03-14 15:58:52 1285

原创 python3基本数据类型

python3中有六种基本数据类型:一. Number(数字)Python3 支持int、float、bool、complex(复数)。在Python 3里,只有一种整数类型 int,表示为长整型。这里还要注意一下复数的表示: a = 3 + 4j二. String(字符串)Python中的字符串用单引号'或双引号"括起来,同时使用反斜杠\转义特殊字符。...

2019-03-06 16:11:34 323

原创 Ubuntu下编译ffmpeg(2)

背景:(Ubuntu系统)上次已经编译了ffmpeg,但是我发现我上次编译的ffmpeg在configure的时候没有配置x265 以及 x264这导致我在运行代码的时候没有办法打开h265的编码器(总是返回null),因此要重新配置一次,其实是可以直接在原有的基础上进行更改的,但是当时不清楚的情况下直接删掉了,因此这里直接重新来一遍,同时记录一些在编译过程中遇到的问题与解决方法。过程:...

2019-01-14 19:39:59 573

原创 sprintf函数用法简介

sprintf 是c++中的一种函数,他也是打印,只不过你可以理解为它把打印的内容打印到了数组中而不是屏幕上,比如:#include<bits/stdc++.h>#define ff(i, x, y) for(int i = x;i <= y;i++)using namespace std;int main() {    char s[40];    sprintf...

2018-12-17 15:30:47 309 1

原创 分块算法

    题目:http://www.qscoj.cn/#/contest/show/209虽然早就知道分块的思想,但是却没有自己做过,这算第一次分块题,题目大意是区间修改,值查询(这里的查询查某个值是否存在于当前数组中如果存在找到其最前或最后的位置),数据范围询问和数组个数均为1e5  这个题我并没想到怎样用线段树进行查询 因为线段树处理的是某个位置的值或者某个区间的值问题 此题也无法用区间最大值...

2018-05-07 18:28:44 639

原创 交互问题

题目地址:https://vjudge.net/problem/CodeChef-AREAFIGR;题意:给你一个长度为n的数组(n已知),是有序的,其中除了一个元素之外每一个元素准确的出现了k次(k未知),而那个元素出现了少于k次大于1次,现在我们有一种询问即 询问下标为id的位置元素值是多少,要求通过少于60次询问得知那个元素出现次数少于k次思路:先二分出k是多少,之后再次进行二分,我们把相等...

2018-04-08 17:03:23 815

原创 隔板分球问题

问题描述:有n个相同的小球 有m个不同的盒子 我们讨论的是把小球全部分到箱子中有多少种的方法。这里有两种延伸类型 1.要求每个盒子都要分到小球:答案显然是C(n-1,m-1) 表示 在n-1个间隔内 插入m-1 个隔板 这样使得分成了m组 2. 箱子中的小球数量可以为空 :此时我们要问题转化 我们多加入m个小球  然后用类型一  每个盒子都至少分到了一个 然后m个箱子全部-1 就相当于还是

2017-11-24 16:29:24 825

原创 cf 442 div2 D bfs最短路

题意:本题就是说 给你一个n m的矩阵 n,m思路:不难想到是一个裸的bfs题目,但我最终tle了 orz  我自己的优化是这样的 对于当前位置 x,y 如果现在他前进的方向 之前走过 我们记录一个跳转的值 表示从这一位置能跳过的长度 这样能够减少不必要的判断(写丑了) 本题还有一些重要剪枝 :1 我们在拓展位置的时候 如果拓展到答案直接退出 而不是等到从queue 中front 出答案才

2017-10-24 14:00:55 249

原创 读入格式

比赛的时候遇到了一道题,他的输入是16进制的 我们自然可以利用字符串读入 手动转化 不过c语言本身其实就有这样的读入格式%o 可以读入8进制 数字 并自动转化为十进制整数%x 则可以读入16进制 数字并转化为十进制...

2017-09-29 20:22:54 430

原创 lower_bound 与 upper_bound 返回值及用法

在一个有序(这个序可以自己重载规定)表中 我们查找某个值的元素是否存在可以使用二分查找 而stl提供了 二分的函数lower_bound 与 upper_bound 具体写法是这样的lower_bound(起始位置,末尾位置(这个位置其实是无意义的 就像排序一样末尾位置-起始位置==元素个数),待查元素)他的返回值是这样的返回   第一个>=查找值的元素的位置  如果没有就返回末尾位置

2017-09-12 20:21:56 1557

原创 dfs问题设计优化方向

对于任何一道暴力搜索问题 上来应该先判断用那种搜索方式 确定为dfs之后 我们应该想清 dfs中 需要记录那些状态 从而帮助我们进行 判断是否递归应当结束 这是最基本的问题设计 对于复杂的题目而言我们显然要进行剪枝优化时间复杂度 新手错在回溯 而老手往往可能在写自己想的剪枝时搞错 (很可能没有剪成 比如uva Stick)所以我们一定要脑补想清剪枝是否在return 时完成了功能

2017-09-08 20:22:40 521

原创 搜索方式的优缺比较

首先先来说明常见的搜索方式:(本人目前遇到的 以后遇到新的搜索方法继续更新)1.dfs(深度优先搜索)。2.bfs(广度优先搜索)3.迭代加深搜索(IDA*)一.dfs搜索方式是按照人为设定方向进行搜索不撞南墙不回头 所以适合做找解是否存在的问题 找最优解一般不会用其优点是空间开销少(因为状态的记录利用回溯是可以用一块内存空间来实现的)二,bfs搜索方式是由当前节点 同时向

2017-08-18 20:41:27 1698

原创 bfs时间复杂度及优化方向

个人对bfs的时间复杂度以前总是不太会分析 总以为时间复杂度就是 O(总的状态数) 对于一些简单的问题(状态数很少的问题)这么近似的确可以 但是随着题目做的多了有时候 对于状态数 为1e7 1e8 的题目 觉得能1s过 却发现会‘迷之’tle  其实tle是理所应当的 下面说一下对于bfs 时间复杂度的新认识 :bfs 的复杂度 大体由两点决定 1.状态数2.转移代价(由一种状态到另一种状

2017-08-14 22:42:45 6555

原创 集合的子集枚举

子集的枚举有三种方法:1.二进制法:这种方法最为简便 就是直接遍历数字 我们看每个数字的二进制 如果当前位为1 表示此在集合中 反之不在当然 二进制还支持 集合的模拟操作 比如集合的合并 用| ;集合的交 用 & ;集合的对称差  (A-B)并(B-A) 用^;2.递归枚举(位向量法)  我们用 vis[n]数组 来打标记 表示这一位的数字 是否选入集合 这种做法的复杂度是2的n+

2017-08-13 22:20:30 998

原创 23-G - The Morning after Halloween 迷宫搜索

题目链接https://vjudge.net/contest/177359#problem/G题目大意:题目的意思非常简单 就是说有至多三个幽灵(字母表示)给出他们的初始位置和最终位置 求出来他们回到终点的最短操作次数 一次操作可以对多个幽灵 每个幽灵可以选择up down left right 或不动 网格最大16*16 最多10组测试数据 每次操作不能使幽灵交换位置 (任意2*2的格子中至

2017-08-10 20:47:58 388

原创 UESTC 2017 Summer Training #22-G.Dreamoon and NightMarket

题意:给你一个长度为n的数组 (n=0)题解: 对于初始数组 我们先排个序(从小到大)我们最初的想法是 优先队列 维护目前的最小sum值和组成此sum的最右坐标 先把数组中单个的数字入队 之后对于目前的最小sum值 我们push进去接下来可能的最小值从此sum的最右坐标 到n扫一遍 更新sum与sum最右坐标 同时push 但是这样显然会超时每次pop 对应o(n)个操作

2017-08-07 19:26:47 382

原创 数据类型的最大最小值

头文件#include 中包含了各种数据类型的最大最小值 我们可以方便的直接调用。具体写法很简单:大写类型_MAX(MIN)即可调用比如 INT_MAX LONG_MAX LONG_LONG_MAX 若用unsigned的数据类型就在最前面加上U。如:ULONG_MAX

2017-08-02 20:22:06 802

原创 两线段相交的判别方法

向量运算有很多用途,判断两线段相交我们可以利用向量的叉积来计算。我们先来思考两线段相交的特点,显然是有一个公共点,也就是说对于每条线段来说,另一条线段总会穿过这条线段 所以线段的端点分布在另一条线段的两端既然是两端我们自然可以用叉积来判断(因为叉积的方向性)   至此问题解决 下面放上一道集训的题目 里面三角形的相交就是用 这里的线段相交来搞的补充:向量运算的c++写法struct n

2017-08-01 22:33:16 668

原创 cf div2 370 C题贪心

C. Memory and De-Evolutiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMemory is now interested in the de-evoluti

2016-09-11 14:15:48 450

空空如也

空空如也

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

TA关注的人

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