Posts
2017
hdu 4990 Reading comprehension (构造矩阵,快速幂)
题目链接
题意: # 给出了一段程序,程序实际算的是f[n] = (f[n-1] + n%2)%m的值,其中f[1]=1,给出n,m(1E9),问f[n]
思路: # 显然是矩阵快速幂,终点在于构造矩阵。
hdu 5015 233 Matrix (构造矩阵,快速幂)
hdu5015题目链接
题意: # 给出矩阵的构造规则: a[0][j] (j>=1) 分别为233,2333,23333….给出a[i][0] (i>=1),对于其余的i,j,a[i][j]=a[i-1][j] + a[i][j-1]
hdu 3642 Get The Treasury (线段树+扫描线,求长方体体积交)
hdu3642题目链接
题意:给出若干个(1000)长方体,求至少交三次的空间的体积。
尺寸为[x1,x2],[y1,y2],[z1,z2],其中x,y的坐标的绝对值不超过1E6,Z的坐标的绝对值不超过1E9。
hdu 1828 Picture (线段树+扫描线 求 矩形周长并)
题目链接
题意: # 求矩形周长并。
思路: # 线段树+扫描线。
和前面的求面积并比较类似,我们先考虑平行x轴的线段,考虑线段树,维护的一段区间中被矩形覆盖的次数cnt和至少覆盖一次的长度的len.
hdu 1255 覆盖的面积 (扫描线+线段树 求矩形面积交)
题目链接
题意: # 求n(1000)个矩形的面积交,也就是至少有2个矩形覆盖的区域的面积。
思路: # 和矩形面积并_hdu1542解题报告 类似
hdu 1542 Atlantis (线段树+扫描线求矩形面积并,模板题)
hdu1542题目链接
题意: # 求n(100)个矩形的面积并。
思路: # 扫描线+线段树
题目是2000年中欧区域赛的题目,虽然年代久远,但是有好几个点还是很值得学习的。
zoj 3606 Lazy Salesgirl (线段树,单点更新,区间合并)
zoj3606题目链接
题意:有个小女孩卖火柴,有n个人会来买,分别在时间t[i],以价格p[i],买的火柴个数为1+(k-1)%3,其中k为这是小女孩第几次卖火柴。 如果有大于w的时间没人来买火柴,小女孩就会睡着。小女孩睡着后如果有人来买火柴,那小女孩就会醒过来,但是不会卖给这个人火柴。现在问使营业额最大的基础上最小的时间间隔w。
hdu 4288 Coder (离散化, 线段树,单点更新,区间合并)
题目链接
题意:n(1E5)个操作,分为三种,add x表示将x加到集合中(保证集合中之前没有x),del x表示从集合中删掉x(保证集合中一定有x),sum表示求集合中所有元素按从小到大排列后,所有的下标中满足i%5=3的a[i]的和。1=<x<=1E9
codeforces 855 B. Marvolo Gaunt's Ring (前缀最大,dp)
题目链接
题意:给出n,p,q,r,以及n(1E5)个数,所有数的范围都是[-1E9,1E9],现在问p_a[i]+q_a[j]+r*a[k]的最大值,满足1<=i<=j<=k<=n
codeforces edu #29 E. Turn Off The TV (思维,乱搞)
题目链接
题意:有若干线段,给出起点和终点,问是否有一个线段是冗余的。冗余的意思是说,对于该线段所覆盖的所有整数点,没有该线段,也能被其他一个或者多个线段覆盖到。如果有,输出任意一个冗余线段即可。
Codeforces eductional round 29
·2705 words·6 mins
比赛链接
10个月没写题了,菜啊。进行一点恢复性训练好了。
A: 给一个数,可以在填写若干(或者0)个前缀0,问能否变成回文数。
思路是直接删掉后面可能的出现的0再判断回文数就好。
代码实现 1/* *********************************************** 2Author :111qqz 3Created Time :2017年09月24日 星期日 13时51分06秒 4File Name :A.cpp 5************************************************ */ 6 7#include <cstdio> 8#include <cstring> 9#include <iostream> 10#include <algorithm> 11#include <vector> 12#include <queue> 13#include <set> 14#include <map> 15#include <string> 16#include <cmath> 17#include <cstdlib> 18#include <ctime> 19#define PB push_back 20#define fst first 21#define sec second 22#define lson l,m,rt<<1 23#define rson m+1,r,rt<<1|1 24#define ms(a,x) memset(a,x,sizeof(a)) 25typedef long long LL; 26#define pi pair < int ,int > 27#define MP make_pair 28 29using namespace std; 30const double eps = 1E-8; 31const int dx4[4]={1,0,0,-1}; 32const int dy4[4]={0,-1,1,0}; 33const int inf = 0x3f3f3f3f; 34bool check( int x) 35{ 36 vector<int>val; 37 while (x) 38 { 39 int tmp = x; 40 val.push_back(tmp); 41 x/=10; 42 } 43 int siz = val.size(); 44 if (siz==1) return true; 45 for ( int i = 0 ; i < siz/2 ; i++) 46 { 47 if (val[i]!=val[siz-1-i]) return false; 48 } 49 return true; 50} 51int main() 52{ 53 #ifndef ONLINE_JUDGE 54 //freopen("./in.txt","r",stdin); 55 #endif 56 int x; 57 cin>>x; 58 while(x==0) 59 { 60 x/=10; 61 } 62 if (check(x)) puts("YES"); 63 else puts("NO"); 64 65 66 #ifndef ONLINE_JUDGE 67 fclose(stdin); 68 #endif 69 return 0; 70} B: 2*n个人,每个人的重量为w[i],要分成n-1组,每组2个人,以及2个单独的人。单独的人的不稳定性为0,每组的不稳定是该组的2个人的重量的差的绝对值。总的不稳定为所有组的不稳定性之和。问可能的最小不稳定性是多少。
反向传播学习笔记
·214 words·1 min
先说下自己目前很笼统的理解:
反向传播是用来快速计算梯度的一种方法;
过程大概是把计算过程用计算图表示,这样每一个中间步骤都有一个节点,每一个local gradient都会比较容易计算;
tensorflow input pipline 学习笔记
·2065 words·5 mins
参考资料:
tf_doc_Reading data
TENSORFLOW INPUT PIPELINE EXAMPLE
tensorflow:理解tensorflow中的输入管道
第二个参考资料是第一个的翻译版本,翻译的水平一般,建议看原文,不是很长。
下面是我挑了文章中重点的部分+自己的理解。
TL;DR; # 一个适用于不是很大的数据集的pipeline input 的例子。
tensorflow 合并模型
·1696 words·4 mins
在这里存个备份,还有些问题没有解决。
raise ValueError(“GraphDef cannot be larger than 2GB.”)
记录一些思路好了。现在是没有生成.meta文件,爆掉应该是因为所有的变量都加载到了默认图里。
也就是说我处理完checkpoint 0 之后开始处理checkpoint1,但是checkpoint0的那些变量还是存在的…所以越来越多?
tensorflow checkpoint 学习笔记
·513 words·2 mins
参考资料:
What is the TensorFlow checkpoint meta file?
TensorFlow: Restoring variables from from multiple checkpoints
合并模型的时候发现.meta一直在累加,而其他数据文件没有改变。因此来探究一下checkpoint的几个文件的含义。
This file contains a serialized MetaGraphDef protocol buffer. The MetaGraphDef is designed as a serialization format that includes all of the information required to restore a training or inference process (including the GraphDef that describes the dataflow, and additional annotations that describe the variables, input pipelines, and other relevant information). For example, the MetaGraphDef is used by TensorFlow Serving to start an inference service based on your trained model. We are investigating other tools that could use the MetaGraphDef for training.
tensorflow variable 学习笔记
·3204 words·7 mins
参考资料:
programmers_guide/variables
tf/Variable
之前感觉对tensorflow 的variable的理解不是很深刻…跑个模型啥的倒不会有什么问题,但是涉及分布式,模型并行之类的,感觉有些地方还是要理解得仔细一点比较好。
20170819近况
一转眼…暑假就要结束了…
秋招似乎也可以告一段落了…
投了蛮多的,但是昨天突然发现我用gmail邮箱发邮件有概率发不出去。。所以我也不知道到底哪些简历根本没有发出去orz