自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Barely

-

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

原创 InfoGAN中公式5的理解

最近读了InfoGAN的论文,其中公式5我一直不是很理解,但在网上搜索也没搜到类似的问题。现记录一下个人对公式5的理解,如有错误恳请指正。 InfoGAN: https://arxiv.org/pdf/1606.03657.pdf论文在公式4中给出了I(c;G(x,z))I(c;G(x,z))I(c;G(x, z))的下界 I(c;G(x,z))≥Ex∼G(z,c)[Ec′∼P(c′|x)...

2018-05-13 12:08:11 685 1

原创 svm-loss 关于权重矩阵W的导数(cs231n Assignment 1)

svm-loss 关于权重矩阵W的导数(cs231n Assignment 1)先给出相应习题的代码,各位可以自行领会一下:def svm_loss_vectorized(W, X, y, reg): """ Structured SVM loss function, vectorized implementation. Inputs and outputs are the same as

2017-09-11 02:10:56 1600 1

原创 算法导论(第三版)习题解答9.1-1(找第二小的元素)

我们做出如下断言:无论采用何种比较算法,第二小的元素在我们找寻最小元素的过程中一定与最小元素发生过比较。这是显然的,因为第二小元素在与除最小元素外的其他任何元素进行比较时一定都会胜出(被选中进入下一轮比较),若最小元素不与第二小元素进行比较则无法确定二者之间的大小关系,从而无法得出最小值。因而,要想使我们找到第二小的元素使用的比较次数尽量少,我们需要使找寻最小元素的过程中与最小元素发生过比

2016-12-06 23:56:03 2603 2

原创 《算法导论》(第三版)部分题解—— 5.2 指示器随机变量

题目:在HIRE-ASSISTANT中,假设应聘者以随机顺序出现,你正好雇佣两次的概率是多少?题解见图片

2016-10-08 00:13:39 2140

原创 UVA437 The Tower of Babylon

DAG(有向无环图)上的DP.每个砖块的三种放置方式可以当做3个点.dp[i]表示以i为最上面一块转的最高高度.那么dp[i]=max(dp[i],dp[j]+h[i]).其中∈E.对砖块按长宽排序,两层循环套一下.答案就是max(dp[i]),∈V.贴上代码:#include #include #include #include using namespace std;

2016-09-16 14:11:29 227

原创 CCF从业资格认证 201604-3 路径解析

问题描述  在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。  为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X

2016-09-09 20:34:51 386

原创 UVA1611 Crane

给定一个1~n的排列,每次可以交换一个偶数长度区间的前后两半,请在,9^6的操作次数内完成这个序列的升序排序.可以发现任何一个数的归位都可以在至多2次交换内完成,第一次,我们假设我们要将下标为i的数移到下标位t的位置,那么第一次我们将i移动到t/2+1的位置(如果2*i>=t那么这一步操作可以省略),第二次,我们就可以直接将i移动至t,只需要交换(2*i-t+1,t)这个区间就可以完成归位.下

2016-09-01 22:10:42 515

原创 UVA12545 Bits Equalizer

用cnt记录最终的变换次数,cnt1为0-1对的对数,cnt2为1-0的对数,cnt3为?-1与?-0对数之和,cnt4是S串的1的个数,cnt5是T串的1的个数.那么显然,当cnt4>cnt5的时候是不可能变换成功的,因为S串中1的个数只增不减.然后....就是数学了.当cnt1>=cnt2的时候(即0-1对多于1-0对),我们先将1-0对与0-1对调换位置,调换次数为cnt2,接着考虑剩余

2016-08-31 16:21:03 260

原创 UVA1610 Party Games

相信来看这篇文章的人有部分是不知道漏了哪些细节。。细节好多。。我也列不全,在这里给出两个易错的样例,各位在看代码之前先看看样例,说不定就恍然大悟了。样例12ABCCCAC样例22ABZZZAC下面来讲讲思路:对输入的字符串进行排序后,我们的任务是找个一个最短字符串(在保证最短的前提下字典序尽量小)ans使得name[n/2-1]ans;字典序最小的(但是最长

2016-08-31 11:22:11 328

原创 UVA12174 Shuffle

我们假想有一个长为s的窗口从输入序列a的a[0]开始滑动直至窗口离开序列为止,我们会得到n+s个段编号0~n+s-1。其中前s-1个序列(编号0~n-2)是不完整的(长度不是s)且分别以a[0],a[1]...a[s-1]为结尾,移动窗口只会添加元素,从编号n的窗口开始(包括编号n)窗口包含的元素也不完整,且分别以a[n+s-1].....a[n-1]为结尾,这些窗口移动时只会删除元素。我们考虑这

2016-08-27 16:36:45 1057

原创 UVA1607 Gates

这种题目。。。哎。。智商不够用啊。。由于输入只有一个x的值,所以电路无论多复杂,最终结果只有1,0,x或!x(所以可以这样理解,当电路的输出与x相关时,原电路一定可以等效为输入序列只有一个x其余均为0/1的情况)。取x为0与x为1,如果电路的输出结果相同,那么电路的输出结果一定是常数,那么随便输出一串0,1就行。。否则,由前面的讨论我们只需要找到那个填上x的位置,从全为0的输入开始,对于全为0的输

2016-08-26 19:10:27 745

原创 UVA12627 Erratic Expansion

开始想利用二叉树去计算每一行的值。。妥妥的T了。。。于是看了题解。。。居然是DP。,果然菜的不行。。。f(i,j)表示第i天前j行的红色气球的数量和c(i)表示第i天红色气球的总数量,显然c(i)=3^i。那么当j>=2^(i-1)的时候,f(i,j)=f(i-1,j-2^(i-1))+2*c(i-1),当jAC代码如下。。#include using namespace std;t

2016-08-25 21:03:36 239

原创 UVA-714/POJ-1505 Copying Books

先二分判断这些抄写员中需要抄书最多的,抄书的数目。对某一个可能的枚举值x,以x为区间元素和的最大值去划分完整的区间,如果发现划的斜杠数小于等于k-1,即符合题意。那么抄书最多的那个人抄书的数目一定小于等于x,以x作为右边界继续二分,否则将x作为左边界。计算出最小的最大值后考虑输出,先从后向前划斜杠,使得越靠前的抄写员抄的书越少,如果发现斜杠划少了就从头遍历每一个位置,一旦发现这个位置没划斜杠就把他

2016-08-23 17:00:44 253

原创 UVA - 1471 Defense Lines

依然是紫书上的例题。。好难啊TAT依旧不会做所以还是紫书上的思路(请结合紫书食用)。。f[i]与g[i]分别表示以下标i代表元素a[i]为终点与起点的最长连续上升子序列长度(跟紫书给的题解是反的。。注意一下。。),递归计算即可。关键在于插入操作,我的思路跟紫书上略微有点出入。我是用分类讨论来写的。当我们在枚举i的过程中,如果lower_bound返回了begin()迭代器那么我们这时是无需尝试更新

2016-08-21 23:21:46 285

原创 POJ2280 Amphiphilic Carbon Molecules

完全不会计算几何。。。不过这题虽然是查别人的题解的,但是还是值得写一下题解来进一步解释一下。思路是枚举一个基准点,将基准点到所有其他的点的向量按照极角排序,然后依次将每一个向量作为一种放置方法(下面把这个取出来作为基准的向量叫做基准向量,ICPC放在与基准向量共线的直线上,从向量的方向看过去,向量所在直线的左侧溶解color为0的点)扫描这种放置方式下溶解的点的数目。这里有个非常巧妙的地方,将

2016-08-18 15:26:20 452

原创 UVA11134 Fabled Rooks

贪心的题,注意到车的坐标x与y可以分开求解。于是问题可以转化成:给定n个闭区间,每个区间内取一个整数,是否存在一种取法可以不重复的取遍1~n的所有整数。贪心的策略是先按照区间的右端点排序,右端点相同的按照区间的长短排序,短的区间排在前面。对每个区间,从左端点取到右端点,一旦碰到没有被取过数的就取这个数。然后访问下一个区间。AC代码如下:#include #include #include #

2016-08-16 23:49:51 344

原创 UVA 725 Division

暴力枚。枚举除数范围很容易算出来是1234~49383。因为49383*2=98766>98765。然后判断这十个数是不是0~9各出现一次就行。我用的是笨办法,用countt数组记录0~9每个数字出现的次数,一旦某个数已经出现就不符合。不过标程给的思路确实更精巧,用sprintf将这10位数输入到一个字符串中然后看是不是每个数出现了一次,但这样的办法速度好像会慢一点。贴一下自己写的10ms的程序吧

2016-08-13 00:42:40 329

原创 UVA12118

欧拉道路的题。dfs对每个连通块记录奇点个数odd,同时记录下没有奇点的连通块的数目s,那么所有有奇点的连通块连成一整个的欧拉道路需要另外经过odd/2-1条边。同时加上这个大连通块与另外s个连通块之间连通需要的s条道路再加上原本需要经过的E条道路就是最终答案。比较坑的一点是E可能为0.。。。。所以这里odd/2-1+s有可能得到-1.。。所以最终我们的答案应该是E+max(odd/2-1+s,0

2016-08-12 15:34:41 341 2

原创 UVA806 Spatial Structures

题目太长了。。看懂了也没啥难得。。这里就不翻译了。。大概意思就是把一个长宽为2的幂次的图像化为一个四分树,并且标出到黑色像素块的路径,以一个十进制整数表示。怎么表示题目里有图示,比较容易理解。图像化树:用矩形的左上角和右下角两个点的坐标来确定矩形的位置,扫描整个矩形块,如果不是单色的就递归扫描这个矩形的四个部分。是单色的就记录下路径加入ans数组。树化图像:仍然是用对角线上的两个点确定矩形

2016-08-11 14:29:30 470

原创 HDU 2766 Equilibrium Mobile

想法题,然而我看了题解才知道怎么写。。。。思路是选取一个点作为基准点。用这个点及其高度计算出天平的总质量。no_change[w]表示当树的总质量为w时,不需要修改的点的个数(每选取一个基准点,其值为i,i的高度为d,那么此时树的总质量为w=i*(1没必要建树,只需要记录每个叶节点的重量与高度即可,每碰到一个‘[’高度+1,碰到一个‘']’高度减一。AC代码如下。#include #

2016-08-10 15:55:35 335

原创 UVA 1600 Patrol Robot

#include #include #include #include using namespace std;typedef pair int_pair;typedef pair status;int vis[25][25][20];int G[25][25];int n,m,k;const int walk_r[4]={0,-1,0,1};const int wa

2016-08-10 15:49:03 239

原创 UVA536 Tree Recovery

基础到不能再基础的。。数据结构题?(雾)pre_order的字符串找到树根,然后在in_order中找到树根,将树划分为左右子树。。递归求解即可。AC代码如下。#include #include #include using namespace std;int left[26];int right[26];char pre_order[26];char in_order[

2016-08-09 14:43:16 335

原创 UVA 1599 Ideal Path

题目大意就是给一个包含n个点(编号1~n)m条边的无向图,每条边有一个附加属性颜色,但是长度为1,求从起点(编号为1)走到终点(编号为n)的最短路。而且最短路应该满足边的颜色的字典序最小。       基本思路就是按照紫书说的逆向从终点BFS到起点求出各点到终点的最小值记为d[i](因为每条路的权值都是1,所以可以用BFS,不然得用Dijstra了)然后第二次BFS,从起点开始,按d值每次减一

2016-08-06 19:01:00 282

空空如也

空空如也

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

TA关注的人

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