自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Willona_C的博客

我是一只程序圆~~

  • 博客(39)
  • 收藏
  • 关注

原创 windows下使用CMake构建工程:cmake-gui+Visual Studio

文件结构在工程目录下构建目录src,thirdparty,build。src:存放自己写的源代码文件thirdparty:存放使用的第三方库build:存放编译时生成的文件(因为很多很杂乱,所以单独目录存放,保持项目文件夹整洁)在build目录下构建install目录,用于存放最终生成的可执行文件每个存放代码的目录下(工程目录和thirdparty目录下)都有一个CMakeLists....

2019-04-23 16:22:29 5531

原创 Windows下搭建C++开发环境:MinGW+CMake

安装CMake下载地址:官网,选择自己系统对应的版本命令行窗口输入"cmake",若显示如下,则安装成功。安装MinGW下载链接:这里默认安装路径是"C:\MinGW"。安装完成后,打开MinGW Installation Manager,点击左边Basic Setup,右击右边的mingw32-base和mingw32-gcc-g++,选择Mark for Installation,...

2019-04-23 11:23:43 1167

原创 TensorFlow问题总结(不断更新)

InvalidArgumentErrorInvalidArgumentError (see above for traceback):A You must feed a value for placeholder tensor ‘xs_1’ with dtype float and shape …解决方法:加上 graph = tf.get_default_graph()graph = tf...

2019-04-19 21:28:24 503

原创 Ubuntu16.04+python3.6+cuda9.0+cudnn7.1+TensorFlow-GPU

这两天新装了Ubuntu,装TensorFlow,参考了好多教程,踩了好多坑。。记录一下最终成功的教程。全新的系统从0开始装python配环境,可以参考https://cloud.tencent.com/developer/article/1086781。只是装TensorFlow的话,就可以看官网的教程:https://www.tensorflow.org/install/...

2018-09-19 15:50:51 706

原创 Linux下装无线网卡(Ubuntu)

因为需要在Linux系统下控制机器人,于是给我破破的小笔记本装了双系统,发现网卡不支持,在Linux下没办法连无线。飞快地买了一个无线网卡,发现要装驱动,过程好麻烦,怎么都找不到小巧又免驱动的无线网卡,突然想到可以直接给电脑的无线网卡装个Linux下的无线网卡驱动。在Windows下查了一下,无线网卡是broadcom的。查了好久,有几种方法真的是好麻烦,尤其是先去官网(http://ww

2016-04-18 21:07:26 780

原创 Xshell的安装与使用,向云服务器上传文件

半年前就买了云服务器,今天想更新网页,发现完全忘了怎么上传文件到服务器,又因为中间重装了几次系统,也不记得用什么工具上传到服务器。还是记录一下吧~首先是下载Xshell。这一部比较简单,找到官网的下载界面(http://www.netsarang.com/download/main.html)上有免费的版本,是提供给家庭和学校使用的。填一下相关信息,就会收到有下载链接的邮件。安装过

2016-03-19 19:46:03 3899

原创 hdu3789/九度OJ1007 奥运排序问题

题目描述:按要求,给国家进行排名。输入:有多组数据。第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。接下来一行给出M个国家号。输出:排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 对每个国家给出最佳排名排名方式 和 最终排名格式为: 排名:排

2016-03-14 19:00:24 1547

原创 C++中const的问题(刷题后感)

题外话:想提前准备推免的机试,就去某个OJ上刷往年各个大学的机试题,题目都比较老,差不多五年前的了,感觉难度等级比较高的题也就是比较基础的算法,或者就是不难但是各种情况讨论很麻烦的题。我在一道题上CE了好久,但是VS2013上却能够编译通过,看错误详情发现是class中重载"在我写的代码中,重载的函数一般是这么写的:class Pix{public: int val; i

2016-03-13 17:40:58 602

原创 poj1009 Edge Detection

题意:图片分成一格一格的像素点,输入一张图的各个像素值,输出转化后图片的像素值。首先输入图片的宽度,即一行的像素点个数。图片像素的描述方式是run length ecoding(RLE),即一组数(V,L)表示连续L个点的像素值为V。将每个像素点的值与周围的像素点值分别求差,取绝对值的最大值,这个值就是输出图片中的对应点。分析:因为像素点个数最多有10^9个,所以不可能将所有像素点存在

2016-03-12 22:59:59 421

原创 UVALive 4857 Halloween Costumes(区间DP)

题意:某人一晚上要参加n个聚会,每场聚会都要穿对应的衣服,在参加下一场聚会之前,他可以选择穿上下一场聚会对应的衣服,也可以选择由外向里脱衣服,直到露出下一场聚会对应的衣服。规定脱下的衣服不能再穿,也就是说,若在脱下2号衣服之后的某一场聚会需要穿上2号衣服,不能穿之前脱下的,只能拿一件新的。求他在所有聚会开始前,至少需要准备几件衣服。分析:这种类似贪心、要求最优情况的题,习惯性想到DP。状态转移

2015-10-05 22:56:53 337

原创 UVALive 4855 Hyper Box

题意:要将一个n维空间分成若干个小立方体,要求小n方体的边长是斐波那契数。求小n方体的数量的最小值。分析:数据不大,暴力就可以过了。求出n条边分别最少可以写成多少个斐波那契数的和,最后将n个数相乘就是小n方体的数量的最小值。第一步打表,斐波那契数列的第46个就超出2e9了。求某一条边的长度n最少能写成多少个斐波那契数之和时,只需要不断减去最大的小于它的数,由下面代码中的get(int

2015-10-05 22:35:01 483

原创 UVALive 4854 A Digital Satire of Digital Age

题意:给一张天平的图,通过每个字符的ASCII码的二进制表示算出它的重量,判断已给图中天平的状态是否正确。分析:因为图中天平的状态只有三种,而且天平中的字符都是大写字母,并且都在同一行,所以计算重量时很简单,给26个字母的重量打表。在计算天平中字符重量的同时,记录天平左右两个称的高度。一开始,我是检测到字母时记录高度,后来发现这样做就忽略了某个称空着的情况,于是改成当检测到第1列或第11列

2015-10-04 20:32:33 442

原创 UVALive 4853 Emoogle Balance

题意:题目很长,其实主要就是题中加粗的那个公式和输入输出。给n个数,用非零数的个数减去零的个数。水题啦~#include #include #include using namespace std;int a[1005];int main(){ int ans, cnt = 1, n; while(~scanf("%d", &n)) {

2015-10-04 20:10:58 364

原创 CodeForces 353B Two Heaps

题意:2 * n个两位数,平均分成两份,在两组中分别取一个两位数,第一组中的作为千位和百位,第二组中的作为十位和个位。求可以组成的四位数的个数最大值。要组成尽可能多的四位数,就要使每一组中重复的两位数尽可能少,最后个数等于两组中不同的两位数的个数之积。先把所有数从小到大排序,把重复次数超过两次的数拎出来单独分组,把它们平均分到两个组中。再将剩余的数的组号依次循环赋值为1、2。时间复杂度O(

2015-08-22 15:37:00 796

原创 CodeForces 353A Domino(水。。)

题意:给n组数,每组数有两个数,要求所有的前一个数之和sum1为偶数,所有的后一个数之和sum2为奇数。可以通过交换某几组数的两个数位置来满足这个要求,求需要交换几组,如果无法满足该要求,则输出-1。分类讨论,若sum1和sum2均为偶数,则输出0;若sum1和sum2是一奇一偶,则无论怎么交换都无法使二者均为偶数,输出-1;若sum1和sum2均为奇数,则找n组数据中是否存在一组数是一奇一偶

2015-08-22 15:09:49 1028 1

原创 poj3281 Dining(最大流)

题意:n头牛,f种食物,d种饮料,每头牛对应若干食物和饮料,要给每一头牛分配一种饮料喝一种食物,互不重复。求最多几头牛可以分配到。建图,边的权值均为1。源点向食物建边,饮料向汇点建边,每个牛建两个结点,两个结点间建边,以限制每头牛只用一次,再食物向其中一个牛的结点建边,牛的另一个结点向饮料建边。建图完毕就是简单的最大流。#include #include #include #incl

2015-08-06 11:02:09 408

原创 poj1459 Power Network(最大流)

题意:n个结点,nc个用电点,对应一个最大用电量;np个发电站,对应一个最大发电量;m条电缆,对应一个最大传输量。求最后所有用电点的最大可用电量之和。最大流建图,定一个源点,源点向发电站建边,权值为发电站对应的发电量;电缆建边,权值为电缆对应的传输量;用电点向汇点建边,权值为用电点对应的最大用电量。#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#define maxn 105using na

2015-08-06 10:45:20 398

原创 poj1274 The Perfect Stall(二分图匹配 / 最大流)

题意:n头牛,m个位置,每头牛可以待在s个位置上,给每个牛分配一个位置,求问最多几头牛可以分配到位置。这是二分图匹配的基础题,也可以用最大流来做,直接贴代码。。二分图匹配:#include #include #include #include #define maxn 205using namespace std;int maps[maxn][maxn], vis[ma

2015-08-06 10:24:37 541

原创 poj1087 A Plug for UNIX(最大流)

题意:n个插座,m个电器,k个转换插头(a b 表示把插头为a的转换成b插头),求最少有多少个电器无法充电。转换题意,就是求最多可以多少个电器同时充电,最后用总电器数减一下就可以了。因为插头名和电器名都是字符串,为了方便记录其序号来建图,就用map来存储。自定一个源点和汇点,源点向电器建边,权值为1;各电器向对应插座建边,权值为1;插座向汇点建边,权值为1;对于转换插头a b,插座a向插座

2015-08-06 10:07:54 412

原创 hdu3549 Flow Problem(最大流)

题意:t个测试数据,n个结点,m条水管,给出每条水管的最大流量,求从第一个结点流向最后一个结点,最多的水流量。跟poj1273一样,也是典型的最大流模板题,套用Dinic算法的模板。#include #include #include #include #define maxn 20using namespace std;int m, n, s, e, c;int

2015-08-06 09:55:15 372

原创 poj1273 Drainage Ditches(最大流)

题意:n条水管,m个结点,给出每条水管的最大流量,求从第一个结点流向最后一个结点,最多的水流量。典型的最大流模板题,套用Dinic算法的模板。#include #include #include #include #define maxn 205using namespace std;int m, n, s, e, c;int maps[maxn][maxn], q[ma

2015-08-06 09:49:33 320

原创 poj2417 Discrete Logging(BSGS:Baby Step Giant Step)

题意:求L使B的L次幂与N对P同余。题目很短,一开始以为是数学题,想着还要推公式,好麻烦。后来才发现有hint,但是并没有什么用,因为按公式敲完一定会超时。学长说用BSGS做,就找了一下模板,半知半解吧,没有完全搞懂,就当收集了一个新模板吧,感觉BSGS算法大多是都是解数学题,以后再做类似题的时候再做扩展。#include #include #include #include #i

2015-08-05 23:34:37 663

原创 CodeForces 85D Sum of Medians(线段树 + 离散化)

题意:n次操作,有三种操作:加入一个集合中没有的数,删除一个集合中已有的数,求集合中位置模5余3的数之和(集合自动从小到大排序)。因为操作最多是1e5次,但是数的范围最大到1e9,所以要采用离散化。线段树中每个结点有一个长度为5的数组,来记录模5的余数,还有一个m数组,若在第i个位置插入或删除一个数,则该位置后面的每个结点的m都要加1或者是减1,来记录该结点位置模5后余数的变化。这道题敲了

2015-08-05 23:22:11 958

原创 hdu4638 Group(离线线段树)

题意:n个人,序号为1到n,将他们分尽可能少的组数,要求同组的人序号排序后是连续的。m次询问,求问询问的区间中的人至少可分成几组。先将所有询问按右端点排序。将n个人依次存入线段树,当第i个人、序号为x的人加入线段树时,将其认为是独立的一组,则第i个结点的sum值加1,若序号为x - 1 或x + 1的人位置在他前面,则组数可以少1或2,则序号为x - 1 或x + 1的人所在位置所对应的结点s

2015-08-05 23:05:19 491

原创 CodeForces 115E Linear Kingdom Races(线段树 + DP)

题意:有n条赛道,m场比赛,比赛需要占用若干条赛道,在举行比赛之前需要修理赛道,利润 = 举办比赛获利 - 修理赛道的费用,当然可以选择不举办某几场比赛,求最大利润。先将所有比赛所要占用的赛道区间按右端从小到大排序,dp[i]表示前i场比赛可得的最大利润。若第i场比赛的赛道区间为[l, r],则影响利润的一定是l之前的赛道,所以第l - 1条及其之前的赛道都要加上第i场比赛的利润,若要修理第i

2015-08-05 22:53:02 953

原创 CodeForces 46D Parking Pot(线段树区间更新)

题意:一段线性的停车场,长度为L,停车时从零点坐标开始停,要求保证新停入的车前后间距分别为f,b(在停车场的边缘不考虑车前间距或车后间距)。有n次操作,1 a表示停入一辆长度为a的车,要求输出车尾的坐标,2 a表示第a次操作中的那辆车移出停车场(注意:第a次操作不是以1开头的操作中的第a个,因为看错这个,我不停的RE......)。明显的线段树区间更新,因为之前做过一道类似的题,保存了模板,所

2015-08-05 22:33:04 567

原创 CodeForces 296C Greg and Array (线段树)

题意:长度为n的序列;m种操作:a b c表示第a~b个数的值加上c;k次执行:a b表示执行第a~b种操作。最后输出执行完所有操作后的数列。先用线段树计算出每种操作执行的次数,将操作中要加的数乘以次数更新。再用线段树求出每个位置的数需要加的最终数值。感觉两个都是简单线段树,就习惯性套模板,而且两个线段树又是先后分开执行,所以写了一个线段树就够了。#include #include #

2015-07-27 16:53:12 886

原创 poj2886 Who Gets the Most Candies?(反素数 + 线段树)

题意:n个孩子坐一圈,依次跳出圈子,跳出的孩子手中卡片上的数值v[i]表示他左手边(顺时针数)第v[i]个孩子跳出圈子。第p个跳出圈子的孩子得到的糖数等于p约数的个数,求问拿糖最多的孩子的名字和糖数。这道题可以转化为求出1~n中约数个数最多的数p,并且求出第p个跳出圈子的孩子原本的位置。因为敲这道题的关系,我发现了一个很神奇的东西,叫作“反素数”。以我的语文水平还不能完全清楚的表达反素数的

2015-07-27 16:22:20 419

原创 poj2828 Buy Tickets (线段树)

题意:插队买车票,求最后排队次序。从后往前想数组中插入,输入的两个数a[i],v[i]分别表示插入v[i]的位置前还有a[i]个空位。用线段树记录区间中的空位个数,每输入一次找到应在的位置,赋值并更新树。函数名正常应该是update的,敲题的时候觉得是在查询v[i]在数组中的位置,就写了query......现在越看越怪异#include #include #include

2015-07-27 15:04:36 358

原创 CodeForces 13E Holes(分块处理)

题意:有1~n个洞,每个洞i都有一个对应的值v[i],当小球落入洞i中后将弹到第i+v[i]个洞里,直到弹出所有洞。一共m次操作,0 a b表示将洞a的值修改为b,1 a表示询问,要求输出将小球投入洞a后,小球最后弹入的洞和小球弹的次数。每次修改操作都需要更新,如果暴力一定超时。所以考虑分块处理,将n个洞分成根号n个区块,每次只需要在洞a所在的区块中更新。cnt数组记录小球弹出所在区块需要的次

2015-07-27 14:45:18 699

原创 POJ2533 Longest Ordered Subsequence(最长递增子序列)

题意:长度为n的数列,求最长递增子序列的长度。法一:动态规划,时间复杂度O(N²):dp[i]表示以第i个为结尾的数列的最长子序列长度,等于该数之前的最长子序列(该数大于子序列的最大数)的长度加一。#include #include #include using namespace std;int a[1005],dp[1005];int main(){ in

2015-07-26 20:40:31 426

原创 hdu1026 Ignatius and the Princess I(BFS+路径记录)

题意:给定m行n列的地图,“.”表示道路,“1”~“9”表示有怪兽,数值为打败怪兽所需时间,“X”表示陷阱,不可走。每走一步需要1s,左上角(0,0)是起点,右下角(n-1,m-1)是终点。要求从起点走到终点的最短时间,并且输出每一秒的动作(两点间的移动或是在某一点打怪)。这道题的代码我从昨天改到今天,中间发现了一堆奇奇怪怪的错误。一开始是被题目上面的“Special Judge”所迷惑,

2015-07-17 13:04:49 419

原创 hdu1027 Ignatius and the Princess II(全排列)

题意:给定两个整数N、M。将1~N排列组合,按字典序从小到大排列,求出排在第M个的排列。虽然N的范围很大,到1000,1000的阶乘很吓人呀,但是M的范围只到10000,而8的阶乘就已经超过10000了,所以无论N多大,我们最多只要考虑后八位的排列组合问题。先判断M与阶乘数的大小,确定要考虑后几位的排列组合。假设是考虑后x位的排列组合,先将1~N-x-1顺序输出。然后处理剩余的数:用M对(

2015-07-16 23:18:17 467

原创 hdu1028 Ignatius and the Princess III(DP整数划分)

题意:给定一个整数,将其写成若干个整数的和,求有多少种情况。可以直接考虑各个加数递减的情况,避免重复。依旧是DP的思想。将整数n划分成两个整数之和,n+0,(n-1)+1,(n-2)+2,……,(n-n/2)+(n/2)。再将加号前面的加数继续如此划分,注意:继续划分时,后一个加数至少为上一级的后一个加数,以确保加数列的递减性。用a[n][1]表示将n表示成(n-1)+1的情况数,则可知a

2015-07-16 22:53:20 452

原创 hdu1029 Ignatius and the Princess IV(DP求数列中出现次数过半的数)

题意:给定一个奇数n以及n个数,求其中出现次数至少为(n+1)/2的数。因为要求数个数过半,所以如果存在,必只有一个。这个题还是会用到DP的思想:若a为n个数中出现次数过半的数,则去掉2k(k为整数)个数,当这2k个数不存在出现次数超过k的数时,剩余n-2k个数中出现次数过半的数仍是a。所以,定义两个变量分别为x、y,分别记录当前出现次数过半的数,当下一个数等于x时,y加一;当下一个数不等

2015-07-16 22:50:45 674

原创 POJ1276 Cash Machine(多重背包~~)

题意:可以理解为是一个容量为cash的大包,已知若干货物的个数和体积,要尽可能多地利用包内空间。问包内所有货物的体积最多是多少。/*多重背包*/#include #include #include #include using namespace std;bool f[100005];int used[100005];int cash,N,n[15],d[15];int

2015-07-14 23:59:34 461

原创 POJ1337 Balance(完全背包~~)

题意:有一个天平,若干砝码,要用上所有砝码,使天平处于平衡状态,问有几种不同情况。当放上去的砝码不同时,天平会有不同的平衡状态,设为j,当j0时表示右边重;当j=0时则天平处于平衡。为了使数组下标不出现负数情况,要用到状态转移(见代码),所以,当j=7500时为平衡状态。/*完全背包*/#include #include #include #include using na

2015-07-14 23:53:12 450

原创 POJ1384 Piggy-Bank(完全背包~~)

题意:给出储蓄罐状态分别为空和满时的重量,以及不同面值的硬币对应的质量。要求出储蓄罐中至少有多少钱。/*完全背包*/#include #include #include #include #define maxn 100000005using namespace std;int main(){ //freopen("in.txt","r",stdin); i

2015-07-14 23:43:09 488

原创 POJ3624 Charm Bracelet(01背包~~简单DP~~)

第一天开始看动态规划DP,先从背包问题开始,找了背包九讲一点一点往下看,发现以前觉得怎么都绕不过来的DP也并没有想象中那么难嘛 (*^-^*) 今天一共敲了四道简单的背包题,就因为忘了把freopen注释掉,wa了好几次。。。。。。代码习惯经常被队友吐槽,正在慢慢改╮(╯▽╰)╭POJ3624就是一个简单的01背包~~/*01背包*/#include #include #includ

2015-07-14 23:26:19 501

空空如也

空空如也

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

TA关注的人

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