- 博客(117)
- 资源 (1)
- 收藏
- 关注
原创 【CryptoKitties源码解析】养猫的正确姿势!
今天想介绍一个最近比较火的一个“区块链”应用CryptoKitties,这个应用本质上实现的功能就是电子猫的繁殖与交易两个功能,功能上虽然比较简单但是再加上区块链这个强大的底层技术作为支撑,让它在整个行业掀起了一波热潮,甚至还导致了以太坊主网的堵塞,使得以太坊中未确认的交易数量从平常的2.5k增涨到了15k,网络中其他的交易也都受到了极大的影响。
2017-12-10 23:13:19
10343
5
原创 【区块链开发指南】区块链基础之区块和交易
在区块链网络当中,所有的数据都以区块的形式记录在各个节点上。而每个区块又以单独的文件保存在节点本地磁盘上,在比特币(Linux系统)中所有的区块信息都保存在~/.bitcoin/blocks/目录下面,并以blk***.dat文件名标示。
2017-11-28 14:17:24
6908
原创 c++并发编程 - Boost Thread
0x00 摘要在分析比特币源码时,最开始就简单学习了一些boost thread的简单用法和最基本的互斥锁,但看到后面发现还用到了更深层次的并发编程知识,于是又回来完整的学习一下,这里做个学习的总结。本文的内容主要包括线程组(Thread group)以及各种互斥锁(lock_guard, unique_lock)以及更高级一点的condition variable。
2017-09-21 22:03:13
4136
1
原创 Codeforces 606E Freelancer's Dreams - 线性规划
题目链接: http://codeforces.com/contest/606/problem/E题目意思就是有个二货想成为一个程序员高手还想买套房,成为高手需要经验p,买套房需要金钱q,然而他现在啥都没有(经验金钱都为0),但是他有n个项目,对于每个项目每天可以得经验ai,金钱bi,但是一天只能做一个项目,一个项目做的天数可以是小数经验和金钱还是按照倍数得到, 问最少需要多少天可以实
2015-12-11 20:40:07
1671
原创 bzoj 1588 [HNOI2002]营业额统计
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1588Splay模板题。。#include #include using namespace std;#define Key_value (ch[root][ch[root][1]])const int inf = 0x3f3f3f3f;const int ma
2015-12-08 19:53:22
454
原创 poj 3468 A Simple Problem with Integers - Splay
题目链接: http://poj.org/problem?id=3468题意:区间更新,求区间和。本来是线段树区间更新的入门题,一直听说Splay这个神奇的数据结构没去学,于是就学了一下,第一道。。推荐学习:http://notonlysuccess.me/?p=709http://blog.youkuaiyun.com/acm_cxlove/article/details/7
2015-12-08 19:49:20
474
原创 bzoj4034[HAOI2015]T2 - 树链剖分
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=4034题目意思:有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的
2015-11-30 19:20:23
584
原创 bzoj1036: [ZJOI2008]树的统计Count - 树链剖分
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1036题意: 给一棵树, 点上有权值, 带单点更新, 询问两点间权值最大值以及路径上所有点权值和。树链剖分入门题。#include using namespace std;#define lson l,m,rt<<1#define rson m+1,r
2015-11-30 11:51:46
605
原创 SPOJ Query on a tree - 树链剖分
题目链接:http://www.spoj.com/problems/QTREE/题意:给一棵树,单点更新, 询问树上两点间路径上边权最大值。树链剖分模板题,学习资料: http://wenku.baidu.com/link?url=SGLjpJtYbJ0HxDYlU_GMXE1qCFS0gbmpDGWPxI7mQuNAsJP0y872mNKwpZ8P054g5XMhFGZb
2015-11-30 10:01:15
593
转载 圆的反演
原文链接: http://blog.youkuaiyun.com/acdreamers/article/details/16966369反演的定义:已知一圆C,圆心为O,半径为r,如果P与P’在过圆心O的直线上,且,则称P与P'关于O互为反演。反演的性质:(1)除反演中心外,平面上的每一个点都只有唯一的反演点,且这种关系是对称的,位于反演圆上
2015-11-12 16:09:07
3847
原创 hdu 4085 Peach Blossom Spring - 最小斯坦纳树
题意: 话说陶渊明的桃花源中有一个村庄, 村庄中有n个房子, 有m条路连接房子, 房子 1,2,...k中住着人, 突然某一天这些道路都被损坏了, 现在要重修这些路,是的1,2,...k中的人能跑到n-k+1,n-k+2...n中躲避, 问修这些路最小花费是多少。思路:参考大牛博客: http://blog.youkuaiyun.com/gzh1992n/article/details/9119543
2015-11-10 14:25:55
848
原创 hdu 4089 Activation
/*dp[i][j] 表示当前总共有i人, 番茄站在第j位, 到达目标状态的概率。dp[1][1] = p1*dp[1][1] + p2*dp[1][1] + p4 = p4 / (1 - p1 - p2)j == 1时,dp[i][1] = dp[i][1]*p1 + p2*dp[i][i] + p4;2<=j<=k时,dp[i][j] = dp[i][j]*p1 + p2*dp[i]
2015-11-09 20:55:23
423
转载 【扩展Baby Step Giant Step解决离散对数问题】
原创帖!转载请注明作者 AekdyCoin !【普通Baby Step Giant Step】【问题模型】求解A^x = B (mod C) 中 0 【思路】我们可以做一个等价x = i * m + j ( 0 而这么分解的目的无非是为了转化为:(A^i)^m * A^j = B ( mod C)之后做少许暴力的工作就可以解决问题:(1
2015-10-28 10:09:49
520
原创 poj 1741 - Tree 树分治
题目链接: http://poj.org/problem?id=1741题意:给一棵树,树上每条边都有权值,问你树上两个点之间的距离不超过K的点对有多少个。思路:看2009年国家集训队 漆子超 的论文 >。文中已经把大概的解题思路都将清楚了,但是作为第一次写树分治的我来说依旧是茫然一片。。。于是只能依靠网上的大牛了。。这题融汇了很多的思想,细细品味后感觉收货还是挺大的。
2015-10-10 15:02:10
620
原创 poj 2152 Fire - 经典树形dp
题目链接: http://poj.org/problem?id=2152不多说。。 2006 陈启峰消防站解题报告这dp简直是神了。。#include #include #include #include #include #include #include #include #include #include #include #includ
2015-10-10 09:48:19
611
原创 hdu 4616 Game 树形dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4616题意有n个房间构成的一棵树,每个房间都有一定价值的礼物,价值可能不相同,有礼物的同时还可能有陷阱,而且每个房间不能重复经过,如果掉入陷阱C次或者没有路可以走了那么游戏结束,求从任意点出发能获得礼物的最大价值。解题思路树形dp。dp[i][j][0] 表示从i的子树上某点出发经
2015-10-10 09:33:39
679
1
原创 hdu 4661 Message Passing - 树形dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4661题意:有n个人,标号从1到n,这n个人之间构成一棵树,每个人有一个唯一的消息,每次一个人可以告诉与他相邻的一个人他知道的所有消息,现在要求有多少种方式,使得用最少的交换次数让每个人都知道所有的消息。解题思路:首先可以确定的是最少传递次数就是边的数量*2,方法就是先讲所有信息都汇集
2015-10-09 18:25:35
544
原创 hdu 4276 The Ghost Blows Light - 树形dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4276题目意思:有个盗古墓的家伙在一个古墓里,这个墓所有的房间构成一棵树,突然他发现就在他前面不足一米的护墓兵俑嘴角45度微微上扬,作为一个有着多年盗墓经验的天真同学即刻便知道了这个墓将在T分钟内倒塌,由于事前准备充足,他已经知道了走过任意两个相连的房间需要的时间,每个房间的所藏的宝物价值也被
2015-10-09 12:03:38
660
转载 深度理解链式前向星
原文链接: http://blog.youkuaiyun.com/acdreamers/article/details/16902023 (感谢ACdreamers大牛,未经允许,略微修改,请勿见怪:) )之前一直用邻接表或者邻接矩阵来表示一个图,不过用边来表示的时候,效果不是那么好,所以就学了一下前向星这个看上去高大上的写法。前向星一般都先定义一个结构体和一个数组,struct Edge
2015-10-09 11:11:56
423
原创 Ubuntu 搭建ftp服务器
局域网之间经常传文件,用u盘老是拷来拷去的感觉很不方便,所以就想建一个ftp服务器,上传下载就都很方便。。当然,搭建的方法网上一大堆,我同样也是从网上学来的,并没有很大的不同,只是自己的搭建过程而已,写下来也只希望对自己以后或他人有所启发。我的系统是Ubuntu 14.04 LTS, 网上一搜,就找到了vsftpd (Very secure ftp daemon) 这个号称十分安全的ftp
2015-10-07 12:06:54
789
原创 2015 网赛 北京 - B Mission Impossible 6 模拟
纯模拟。。赛前恰好看到神奇的rope!上去直接就用了,不过后来听说没有超时的问题sting都可以过。。#include #include using namespace std;using namespace __gnu_cxx;int m;char s[10010];struct Line{ rope str; int mode; // 0:insert 1:o
2015-10-04 16:41:08
629
原创 codeforce 583D 矩阵快速幂
/**codeforce 583D Once Again...给定一个数列包含n个数,将它复制t次,得到一个新的数列,求这个数列的最长非递减子序列,简称最长上升子序列(非严格)。新技能GET!- 利用传递性构造矩阵,用快速幂解决。构造一个矩阵A[i][j],每一项表示从0 到 j中, 起始数大于等于a[i],以a[j]结尾, 的最长上升子序列的长度。可以发现矩阵两项之间具有传递性,
2015-10-04 16:32:46
565
原创 codeforce 583C GCD
/**codeforce 583C GCD给出一个数列任意两个元素的gcd矩阵,求原数列。给出的gcd矩阵的顺序是任意的。首先给出数列中最大元素肯定是原序列中的数,然后不断取剩下数中的最大值,与已经求出来的数进行gcd,并在原数列中删去这些已经求出来的数。**/#include #include #include #include #include #include #
2015-10-04 16:01:32
569
原创 codeforce 583D Once Again... - 最长上升子序列
/**codeforce 583D Once Again...给定一个数列包含n个数,将它复制t次,得到一个新的数列,求这个数列的最长非递减子序列。看到题目条件n比较小t比较大,而子序列又要求是非递减的,也就是说当t大于n的某一个倍数时,中间一段子序列应该是全部相同的一个数。思考一下便可以发现,以n段作为分解来考虑,预处理出前n段以某个数字结尾的最长非递减子序列用inc[i]表示
2015-10-04 15:31:07
632
原创 zoj 3556 How Many Sets I - 容斥原理
/***容斥原理考虑总的种数减去集合不为空的种数。首先是总的种数:每个集合有2^n个子集,总共k的集合所以总数就是2^(n*k)再考虑集合不为空的情况,首先考虑最后交集只有一个元素,这种情况总共有(2^(n-1))^k种交集有两个元素(2^(n-2))^k种交集有t个元素(2^(n-t))^k种根据容斥原理,总共集合不为空的情况有C(n,1) * (2^(n-1))^k -
2015-10-03 17:58:45
446
原创 uvalive 3485 - 数值积分
/**抛物线积分求曲线长度。首先确定出桥墩的个数。题目要求桥墩数量要最少,也就是看D是不是能被总长度B整除,若可以则桥墩数量n = B/D,否则 n = B/D + 1, 一个简化的写法就是 直接n = (D+B-1)/D确定了数量就可以求出桥墩之间的距离w = B/n同时可以求出,相邻桥墩之间绳子长度dl = L/n设抛物线方程为y = a*x*x.显然当a越大时,抛物线长度
2015-10-03 11:07:26
550
原创 uvalive 4671 - K-neighbor substrings 快速傅利叶变换
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2672题目概述:定以两个长度相等的串的距离为对应位置上两个字符不一样的数量。比如"abbab"和"bbabb"的距离为3.两个串被称为K-neighbor的当
2015-09-26 10:16:22
1547
原创 uvalive 4387 Tower - 矩阵
题目大意给了一个数列的递推公式,a[n]=2*a[2]*a[n-1]-a[n-2],现在让你求数列前n项平方和模M。 数据范围:1思路给出数列递推式让你求第n项或者前n项的关系时,一般都是通过构造出一个矩阵,得出第n项的矩阵递推式,然后通过矩阵快速幂来解决,这题也一样,只不过递推式稍微难想一点。构造一个1*4的矩阵 (a[n]*a[n], a[n-1]*a[n-
2015-09-25 14:41:35
765
原创 uvalive 3490 解法二 AC自动机 + 高斯消元
/****AC自动机 + 高斯消元AC自动机判断当前状态i通过j能到达的所有状态E(i)表示当前状态为i,到最终状态的期望E(i) = Sum(E(next[i][j])+1)/n;最终结果就是E[0]******/#include #include #include using namespace std;#define maxn 500010
2015-09-25 12:11:27
691
原创 uvalive 3490
/****神解法。。未看懂。*******/#include #include using namespace std;char buf[20];int n;bool cmp(char s[],int i,int j){ for(int k=0;s[i+k] && s[j+k] ; k++){ if(s[i+k] != s[j
2015-09-25 11:51:26
504
原创 uva 10766 生成树计数
生成树计数模板题。。#include #include #include using namespace std;typedef long long LL;const int maxn = 55;int D[maxn][maxn];LL C[maxn][maxn];int n,m,k;LL Det(LL a[][maxn],int n)//生成树计数:Matrix-Tre
2015-09-25 11:21:31
481
原创 uva 10294 Polya计数
/****************polya计数分奇偶,再加上分旋转翻转********************/#include #include using namespace std;long long n,t;long long pow(long long a,long long b){ long long res = 1; while(b){
2015-09-25 11:19:00
429
原创 zoj 3494 BCD Code AC自动机 + 数位dp
/************AC自动机 + 数位dp好题!给出一些模式串,求区间内不出现这些串的数字串的个数以这些模式串构建AC自动机,建自动机的时候要注意记录好结束状态预处理出所有状态加上某个数字后的状态,在数位枚举每一位上数字的时候,直接推出下一个状态。特别要注意的是前导0的情况,当前面全是0的时候而且当前位也是0的时候,就可以当成初始状态来处理。************
2015-09-25 11:13:49
483
原创 Codeforces 433E
/*************************麻婆豆腐AC自动机 + 数位dp好题!每个字符串都有一个权值,如果一个数字串中出现该串那么该数字串就的权值就加上字符串的权值,求区间内数字串权值小于等于给定值的数量。AC自动机状态转移,数位dp枚举每一位。再统计符合条件状态数。**********************/#include #include #inc
2015-09-25 11:09:22
474
原创 生成树计数 - Matrix Tree定理
/************求无向图中生成树的个数。Matrix-Tree定理(1)G的度数矩阵D[G]是一个n*n的矩阵,并且满足:当i!=j时,d[i][j] = 0;当i==j时,d[i][j] = i的度数(2)G的临接矩阵A[G]也是一个n*n的矩阵,并且满足:如果i,j之间右边直接相连,则a[i][j] = 1, 否则为0.我们定义G的Kirc
2015-09-25 11:03:49
597
原创 随机素数测试 Miller Rabin 质因数分解 pollard_rho Java版 模板
import java.math.BigInteger;import java.util.HashMap;import java.util.Map;import java.util.Random;import java.util.Scanner;/** * * @author qin * Miller_Rabin 随机素数测试 java版 * pollard_rho 质因数分
2015-09-25 10:30:41
707
原创 Regionals 2009 >> Asia - Hsinchu UVALIVE, 4529 A Constrained Queen Game - 搜索剪枝
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=350&page=show_problem&problem=2530题目大意:古老的皇后问题。。换了个要求要求棋盘中皇后格子中对应值之和的最大值。格子中数值排列规律是从左往右严格递增,从
2015-08-10 01:40:26
594
原创 Regionals 2009 >> Asia - Hsinchu UVALIVE, 4528 Schedule Pairs of Jobs - 搜索回溯
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=350&page=show_problem&problem=2529题目大意:在某个工厂中有一些任务对(pi,qi),其中所有的p都必须在q之前完成,还有就是pi和qi完成时间上之间必须相差d[
2015-08-10 01:27:41
520
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人