- 博客(38)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 windows上gn编译指引
1.下载与环境配置这里以google的angle跨平台gl库的windows编译作为示例git clone https://chromium.googlesource.com/angle/angle cd angle python scripts/bootstrap.py gclient sync git checkout master2.动态库编译a.编译配置gn gen out/x64.debug 或者 gn gen out/x64.releaseout/x6.
2021-02-25 16:19:17
2392
原创 C++内存对齐
在C语言和C++语言中相信很多人都有使用过sizeof(),这个帖子主要偏向于交流获取class和struct的字节数时候的问题。 我使用的是windows 7的32位OS 和 VS2010的旗舰版 先来一些正常的[cpp] view plaincopystruct te
2013-09-28 08:56:14
697
转载 纹理寻址模式
纹理寻址模式 2010-12-08 14:19:45| 分类: 虚拟现实 | 标签:directx |字号 订阅Direct3D应用程序可以为任何图元的任何顶点指定纹理坐标,通常使用的 u、v 纹理坐标的取值范围是[0.0, 1.0],但是通过设置该范围外的坐标值,可以得到纹理映射的特殊效果。虽然系统允许纹理坐标取[0.0, 1.0]范围外的
2013-08-25 16:15:33
2118
原创 hdu 1558 Segment set(并查集+线段相交)
题目大意是依次给出线段,如果询问第k条给出的线段就输出与第k条线段直接相交和间接相交的所有线段条数(注意包含他本身,所以num初始化为1)典型判断相交,用并查集我的代码有个地方wa了我好久,就是在函数中,如果交换参数的值,注意参数如果是指针类型的,导致调用该函数的外部函数中的数据也交换了影响程序结果(看注释)我的代码:#include#includeint f
2013-07-05 19:42:43
696
原创 HDOJ 1554 Pairs of integers
题目大意是:给定一个数N(10 ……10^9),求出A,B,A的开头数字不能为0,B的开头数字可以为0,B为A去掉一个10进制位后得到的数字及A的数位一定是B的数位+1,并且A + B = N我们可以遍历,去掉A的第pre位后得到B,我们假设pre位前面的为x,pre位为y,pre位后为z即A 为 xyz,那么B为xz这个时候y的权为flag = 10^pre
2013-07-04 23:34:50
833
原创 位运算要注意 (对于HDOJ 1547的思考)
今天真坑爹,一个位操作x&1 == 0导致了一种奇妙的错误,也让我反思颇深,乍一看这个式子我们估计大部分人都理解成了(x&1) == 0其实不然,因为&比==的优先级更低,所以应该是这样运算的x&(1 == 0)坑吧搞得我HDOJ 1547wa了一下午,头痛欲裂#include#include#includechar map[111][111];int h, w;in
2013-07-04 17:43:00
674
原创 线段树对面积的划分 HDU 1541
题目大意是对给定的很多矩形,求出面积和,重叠的部分只能算一次可以对x和y坐标进行离散化,然后对面积进行划分,划分成四部分,左上,右上,左下,右下与之前的线段式线段树不同的是,每次对宽和高进行等分的时侯,xmid和ymid在各部分出现的时候不用+1,因为这里算的是面积,面积是连续的注意浮点数的判断大小对于x,y是否相等,只有在x+0.000001 > y && x - 0.00000
2013-07-04 09:35:27
736
原创 multiset运用 HDU 1540 Tunnel Warfare
用multiset集合类的时候要包含#include#include#includeusing namespace std;以上一个都不能少multiset默认compare为升序,而且只有重载了对于其他类型,我们就要自定义compare结构体struct cmp{ bool operator()(const int& a, con
2013-07-02 19:35:26
738
原创 HDOJ 1525 Euclid's Game 博弈
题目大意是给定两个数a,b,Stan always starts.规则是,每次只能把比较大的数减去比较小的数的整数倍,最后两个数中只要有一个数为0就结束,最后操作了的人为胜首先:对于a,b中的比较大的数max和比较小的数min,不管两个人怎么取,一定会到达min,max % min的状态因为max在没有减到比min小的时候,后续的操作依然是对max减去min的倍数,而一旦max比m
2013-06-29 10:07:03
934
原创 ACM 做题总结
1、注意溢出2、看清题目3、该特殊处理的地方一定要注意4、不要遗漏5、hdoj 1523当一个字符串x转换成另一种类型的字符串y时,利用y insert hash表的时候要注意,因为有可能不同的x转换成了相同的y6、递归最大的优化就是要有顺序,不管要求是否有顺序,但我们总要找到一个顺序才会避免很多的重复
2013-06-28 22:40:24
942
原创 由K倍动态减法联想到的一类博弈问题 HDOJ 2580
给一堆石子,数量为n,先取的人最多能取n - 1个,之后每次最多能取上次对手取的石子的数量的k倍当k = 1时必败数列为(1, 2, 4, 8 ……),当n的二进制中不止一位为1时,我们每次取n的二进制的最低一非0位数量,那么对手就绝对不能取完(因为高位的是地位的至少二倍),而对手不管取x为多少,假设x的最高位1为w,那么取后剩余石子n的w位或者w以下一定有1,那么我们就又可以取最低一
2013-06-23 14:55:32
831
原创 矩阵相乘,快速算法 HDOJ 4291 A Short problem
对于g(x) % mod;很明显,x一定有一个循环结;证明:只要存在g(x)= g(k), g(x - 1) = g(k - 1),那么就会出现循环,而g(x)的值是在有限域(1 - mod)内变化,那么g(x) ,g(x - 1)的排列也是有限的,而x是无限的,所以一定会出现g(x)= g(k), g(x - 1) = g(k - 1); 那么可以求出每层函数中的mod,依次
2013-06-22 13:05:22
705
原创 AC自动机的灵活运用 HDOJ 4518吉哥系列故事——最终数
HDOJ 4518题目链接 1,把符合条件的fibonacci数按反向建立AC自动机的树,最后一个节点标记flag = 1,表明该节点fibonacci数的尾节点;2,对于i位的所有数字,状态在当前节点中的个数存起来num【i】3,在加入另外一个fibonacci1数字时,如果之前已经有fibonacci数是该数字的前缀时,可以不用加入该fibonacci1了; 建立数据结构
2013-05-24 13:54:18
722
原创 快速求1000,000范围内的所有素数,复杂度为O(n)
今天收获不小啊,自创了一个快速O(n)复杂度的求1 ---- 1000,000范围内的所有素数 注:这个方法确实是自创,如果有人想转,请注明本文来处,否则我会很不爽的 思路:首先定义一个isPrime[1000001]的数组,初始化为0;isPrime[i] = 0表示i还没有确定是否是素数,isPrime[i] = 1表示i一定不是素数 对于
2013-05-19 10:12:31
2565
原创 POJ 1090Chain
题目大意: 一个0 1字符串,要你全部变成0;变的规则是变第n个的时候第n-1个必须为1,n-1之前的全部为0,n>=3;第1个可以随便变,第2个必须在第1个为1的情况下改变,求最小改变多少次可以让给定0 1字符串全部变成0首先个人对这类题目感想:一看数据和结果那么大,搜索肯定不行,那么就应该是规律公式题了,联想到了汉若塔,先找公式;z[n]函数表示 对于0 0 0 ……0
2013-05-17 14:55:33
463
原创 动态规划(DP) 之优先队列优化 HDOJ 3401Trade
HDOJ 3401题目连接 告诉你 T 天里,物品的买卖价格,和当天最多买卖数量,还有 T 天里最多保存物品数量,每一次买卖间隔时间必须大于 w+1 很容易想到DP【i】【j】表示,第i天结束的时候还保存有j个物品时的最大获利 初始化dp【i】【j】 = dp【i-1】【j】;那么状态方程dp【i】【j】 = MAX(dp【k】【j】),其中k且有
2013-05-17 13:03:06
1160
原创 小明系列故事——玩转十滴水 腾讯马拉松时间模拟 HDOJ 4527
腾讯马拉松(时间模拟)题目连接注意几个问题:(1)水珠爆破的时候,下一刻才有四个飞溅的水珠(2)我是先检查爆破的水珠后再移动飞溅的水珠,为了防止此刻产生的飞溅水珠再次移动,应该让爆破的4个水珠就在原地,也就是还没有移动(3)为了防止飞溅的水珠被移动两个,应该用滚动数组,这次的水珠位置移动后存在另一个数组中(2)方法还可以防止这种情况: 0550下一刻应该有两个水
2013-03-26 00:02:47
887
原创 HDOJ 3491
今天学习了一个边比较少的图的表示方法,边链表示法一看就知道是网络流,但是怎么构建呢?把每点a拆成两个a 跟 a‘,两点间的边权为该店的值那么最后的答案应该为source’到sink的最大流我的代码#include#include#includeusing namespace std;#define MAX 40001
2013-03-20 12:38:56
592
原创 网络流 HDOJ 4292
根据题意可以构建一个网络流模型从源点到食物边权为食物数量;从第i个人喜欢的食物到第i个人的节点1,边权为1从第i个人节点1到第i个人节点2,边权为1,防止一个人选择了多次从第i个人节点2到饮料,边权为1从饮料到汇点,边权为饮料数量构建如下图#include#include#includeusing namesp
2013-03-20 11:02:37
735
原创 HDOJ 4285 circuits (插头dp 总结)
题意:给出一个有障碍棋牌,让我们算出有多少种包含有k个环的方案数,其中每个非障碍棋盘必须包含在一个环中,并且不能有换套环的情况(这个条件没看到,花了几个小时调试,坑的一逼呀!!!!!)行为n,列为m,环数k插头dp:以列j为内循环,以行i为外循环,每次加入一个节点,那么分割线上就有m+1个小方格边,以这些边的状态计算下次的状态形成状态转移,因为环不能相交所以括号原理就刚好用
2013-03-18 14:58:40
784
原创 最长回文高效算法 HDOJ3068
Problem Description给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等 Input输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S两组case之间由空行隔开(该空行不用处理)字符串长度len
2013-03-13 19:22:00
1049
原创 后缀自动机
后缀数组虽然强大,后缀自动机也不可忽视,而且后缀自动机有它独特的特点,对于某些题目可能更得心应手;什么是后缀自动机,他处于什么目的的数据结构,他为什么能省时?假如我们把一个长度为len的字符串s的所有后缀存放在一棵根节点为root的树中,势必会有0(len * len)个节点,这对于一个len比较大的字符串而言不可想象,但字符本身就只有26个,是不是很多节点都可以共用呢
2013-03-12 12:56:58
3455
原创 后缀数组
今天很高兴自己能在后缀数组上有很大的突破;原因是根据自己对后缀数组的理解写出了完全属于自已的代码,可能代码没后缀数组的模板简洁,但个人觉得对于刚接触后缀数组的acmer们会有更好的理解,看懂了我的代码绝对比模板要简单。因为个人始终不太看好记算法模板;一首先解释后缀数组的算法思想,个人语言表达能力不算太好,别批我哈众所周知,后缀数组处理完某个字符串s后,会得到至少两个重要
2013-03-10 17:25:07
1725
2
原创 2012 ACM/ICPC Asia Regional Changchun Online HDOJ 4272 连连看
状态压缩dp因为只有距离5的可以相连,那么,对于每次向下一个数字的时候,最多有10个相邻的数字显示的不同状态。对于a,最多可能a以下的四个数字已经被a上方的数字相连,所以a最多能连到a以下4 + 5 = 9 个数字,所以对于一个数字最多有10个相连数字的不同状态,一个数字可能已经被消除(0),可能依然存在(1),所以最多有2^10 - 1 = 1023个状态;算法依次从顶向底计算
2013-03-07 19:32:39
747
原创 2012 ACM ICPC 长春网络赛B Alice And Bob 线段树的延伸利用
题目思路:1:Alice 按宽度w小优先,高度h小次优先的顺序拿出卡片,从Bob的宽度小于w的卡片中贪心覆盖高度h最接近h并且小于h的卡片。 2:卡片数量大,所以只能在n*logn时间复杂度内,每次Alice拿出宽度w的卡片,我们就把Bob中宽度小于w的所有卡片提供一个满足(1)条件的卡片,那么我们可以用线段树存放,线段节点存放该高度空间中的Bob卡片张数;3:如何告诉
2013-03-01 13:33:08
674
原创 长春网络赛A A Simple Problem with Integers
这个题目在比赛的时候我用建立55个线段树做出来了,但赛后感觉太硬碰硬了,重新做一下,按照节点中的55个情况分析空间: 每个空间节点有 除数qq (10 种)和 余数pp(第i个除数有i种) ,总共55种, 因为有个结论,某个数是否加上c,只要看这个数%qq的余数跟pp是否一样,如果一样他就符合条件; 根据这个原理组成线段树但有个问题我十分不解,根据自己的推导,线段树的节
2013-02-28 19:41:52
386
原创 MFC 容易出错地方笔录
1:起新线程,最好不要传递局部变量指针,因为在本局部代码结束后变量已经释放,新线程中利用该指针时就会出错2:domodal 函数显示窗口onok结束后,窗口已经销毁,不可以获取窗口控件状态(如CIPaddressctrl 中的getaddress(dw)),因为控件也已经销毁了。
2013-01-21 12:05:28
488
原创 坑爹的一天,坑爹的一结论,析构函数中尽量少释放资源
一天的时间用在查找自定义的CServerSocketTCP 和CSocketTCP 两个类,结果因为在两个类中的析构函数中对SOCKET进行了释放,导致了一种结果例如:一个CSocketTCP x对象,被复制了一个y。 x和y中同包含一个SOCKET资源,当x的生命周期结束时,x的析构函数调用,释放了该SOCKET资源,那么y中的SOCKET也被释放了。结论:析构函数中尽量少释放资源
2013-01-19 21:39:00
1026
原创 Java 流中关于ObjectInputStream 和ObjectOutputStream 的陷进
当用在网络中时,如oos = new ObjectOutputStream(map.get(clientName).getOutputStream()); 当一个out或者一个input创建时,连接方必须创建一个对应的流
2012-11-28 14:00:20
617
原创 2011 福州赛区现场赛C - Bob’s Race
差点放弃,竟然是自己的思路是对的,但因为一个重要的记忆优化没写在代码中超时很多次,让我很郁闷啊,还是要小心 树的最长路,怎么dfs,我写的是dfs(N,W),就是第n个节点如果走连接他的的第w号边的最长路;为什么要求第w号边,是因为不能走重复边的原因,比如求节点a的最长路,如果他经过w号边到节点b,那么在b经过的众多边的众多最长路中,b必须不能在经过b-》a这个边了,那么就解决了重边问题
2012-10-18 10:51:38
1751
原创 ACM ICPC 长春现场赛E Conquer a New Region
现场赛中这样的题目真的很难想到,看了别人的报告自己做出来了,也留一下纪念吧,或者以后做题时候还有个经验吧题意简化就是一棵树上所有节点到某个节点x得距离和最大,而距离则是这个节点到x节点所在路劲中权值最小的那个边的权值; 也就是怎样找节点x的问题了 首先容易想到的是,对于一个权值最小v的边,他一定是制约他的左边或者右边所有节点的距离,也就是他的左边或者右边中所有点的距离一定是v;因此
2012-10-17 10:18:13
1313
原创 HDU 4260 The End of The World(汉罗塔)
/* 很经典的规律题,应该要给以后汉罗塔问题,要用到一个公式:假设N个盘子都在A上,那么搬到B上则需要2^N - 1次。 dfs(B, pos)的作用是:将前面pos个盘子全部搬到B上所需要多少次。 这样,dfs(B, pos) = dfs(C, pos - 1) + pow(2.0, pos - 1) - 1 + 1; 即,先将pos - 1个盘子都放在C处,然后将最后剩余一个盘子放在B上,再将
2012-10-17 09:24:58
644
原创 2012ACM ICPC长春现场赛H Math Magic
这个题真是坑啊,到现在为止我都不知道为什么有个地方加了会错,以个人看绝对不会错,就是注释部分,比总和大的因子不可能出现,所以可以省略不要,为什么省略了就会错,我一天的时间砸在上面砸出这么个破结论,不知道acm的严密性哪儿去了哎,代码发这里,大神们谁能解决我的问题我刚开始也是看别人的解题报告,都说裸dp,对于我们这些xx们,还是清楚点好;滚动dp【i%2】【j】【k】,array里面存了
2012-10-17 00:12:28
708
原创 2012长春现场赛b Bit Magic
其实一开始我就想到了2-sat,三个地方出现错误1,内存超了,想到32位各自独立,解决了2,题目一个条件忽略了,他说i==j时值为0,这个条件应该作为判断条件使用3,应该用临界表来储存,否则超时题目地址http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3656#include#include#i
2012-10-16 18:45:56
1159
原创 POJ 2901——Hotel
题目大意:n个男人,m个女人,其中夫妻c对,旅社有r房间,不同的房间有自己能住的人数和价格; 男人能跟男人住一起,女人能跟女人住一起,或者夫妻两人单独一个房间(夫妻两人不一定非要住一起) 简单的一道dp题,一看就知道最多一对夫妻单独住,看下面的解释比如男 5 女 3 夫妻 2那么可以有两组 5 3或者
2012-09-24 23:24:01
821
原创 2012 ACM/ICPC Asia Regional Hangzhou Online HDOJ 4417 Super Mario
2012ACM ICPC杭州赛区网络赛比赛的时候线段树死搞,害得我五个小时毫无收获,下来后发誓要做出来。搜了下,线段树貌似可以ac,单大多数说划分树,然后直接百度,看了一下,有些收获,分享一下自己的感受和大家分享一下吧。划分树: 谈谈我对划分树的理解:实际上划分树是以线段树的形式模拟和记录快速排序的过程;
2012-09-24 16:04:57
1182
原创 POJ1090 Chain
题目大意: 一个0 1字符串,要你全部变成0;变的规则是变第n个的时候第n-1个必须为1,n-1之前的全部为0,n>=3;第1个可以随便变,第2个必须在第1个为1的情况下改变,求最小改变多少次可以让给定0 1字符串全部变成0首先个人对这类题目感想:一看数据和结果那么大,搜索肯定不行,那么就应该是规律公式题了,联想到了汉若塔,先找公式;z[n]函数表示 对于0 0 0 ……0
2012-09-20 15:02:30
961
原创 KM算法求完全匹配情况下的最大匹配
算法说明:1,一定存在完全匹配 2,求最大(小)权匹配,也就是各种匹配情况下需要的消耗最小或者收益最大算法前首先说明什么是交错树:每次增加一条增广路或者增加失败时匈牙利算法所遍历过的点都是交错树中的节点,如果说二分图(一边是x顶点,另一边全是y顶点)中以x顶点匹配y顶点时,那么交错树中的所有叶子节点都是x顶点。(欢迎各位理解得更清楚的同学指导)
2012-09-05 14:42:33
1336
sqlite execSQL(sql, bindArgs) 第二个参数不自动替换的问题
2014-12-13
wifi增强,谁能告诉我他的实现原理
2014-10-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人