自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白学病患者的专栏

失败并不可怕,可怕的是你还相信这句话。

  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

原创 浙江省赛

A#include#include#includeusing namespace std;int a[1005];int main(){ int n,t,i; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(a,0,sizeof(a)); int

2015-04-25 18:48:59 341

原创 hdu 1024 最大M子段和

这里讲得很详细了。http://www.cnblogs.com/dongsheng/archive/2013/05/28/3104629.html这题得注意n很大,而m题目中并未告知范围。看discuss里说,m很小不超过100,因此O(n*m)的算法可以过。#include#include#include#include#include#include#includeu

2015-04-23 18:58:53 402

原创 hdu 1055 color on a tree

题意:给一棵树染色。对于一个节点,只有当父亲节点被染色后才能给它染色。给一个节点染色需要1s,花费为染色结束的时刻乘以该节点权值。初始时刻为0求最小花费。思路:贪心+并查集有关证明及结论:http://blog.csdn.net/a601025382s/article/details/38780507#includeusing namespace std;typ

2015-04-23 17:52:24 405

原创 hdu 5206 Four Inages Strategy

题目大意:给出空间中四个点的坐标,问能否构成一个正方形。注意,这里的点坐标为整数。由于点坐标为整数,因此可以直接算出由四点组合成的六条边的边长。判断是否有四条相等,另外两条相等(对角线)且其平方为前四条的平方的两倍。如果这里给出的坐标不是整数,则需要考虑异面的情况。即还得判断对角线是否共面。#include#include#include#include#include

2015-04-19 16:52:49 502

转载 快速幂或矩阵快速幂

原文链接快速幂或者矩阵快速幂在算大指数次方时是很高效的,他的基本原理是二进制,下面的A可以是一个数也可以是一个矩阵(本文特指方阵),若是数就是快速幂算法,若是矩阵就是矩阵快速幂算法,用c++只需把矩阵设成一个类就可以,然后重载一下乘法就可以,注意为矩阵时则ANS=1,应该是ANS=E,E是单位矩阵,即主对角线是1其余的部分都是0的特殊方阵了。 举个例子若你要算A^7你会怎么

2015-04-18 16:27:39 424

原创 hdu 1007 Quoit Design (最近点对)

题目大意:给出n件玩具坐标,制作一个圆环,使得其半径尽可能大,并且最多只能够圈中其中一件玩具。求此时的半径。问题的本质就是求最近点对。方法是二分法。#include #include #include #define N 100005using namespace std;typedef double db;struct P{ db x,y;}p[N],pt[N];

2015-04-18 15:22:18 355

原创 ACdream 1412 Numbers

题目大意:给出n和k,求不超过n的能够整除k的字典序最小的数。0要使字典序最小,则必然要使1和0尽量多的放在高位上。可以这样来构造:ans依次取1、10、100、1000、……若取到某一个刚好能够整除k,则此时ans就是结果。否则,构造出离当前ans最近的数。取ans%k,ans-ans%k+k即为距离ans最近的刚好能够整除k的数,其字典序最小。注意循环的时候,计数变量加

2015-04-18 09:11:08 348

原创 codeforces 18B Platforms

题目大意:给出n个站台的位置和宽度。现在从0位置出发,每次移动距离d,问移动到哪个位置会掉下站台。分析:设站台宽度为L,前后站台之间距离为x。则第i个站台到第i+1个站台之间的区间为:[i*L,i*L+x],所求位置必然是在该区间中,问题转化为求最小的正整数k使得i*L即对于区间[L,R],判断k*d是否在区间内。若k*d在区间内,则L/d=k。于是枚举L,R,判断L/d与R/d是

2015-04-06 16:50:43 632

原创 2013山东省赛回顾A、F、I

A题:题目大意:按照逆时针顺序给出等边三角形的两个顶点,求另一个顶点。向量旋转。。。之前做过SGU的一道关于向量旋转的题,在这里用上了。根据已知两点坐标,将向量逆时针旋转π/3度,即可求得另一顶点坐标。#include#include#includeusing namespace std;#define N 160#define Pi acos(-1.0)typ

2015-04-06 15:20:21 490

转载 乘法逆元

乘法逆元定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。为什么要有乘法逆元呢?当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元。我们可以通过求b关于p的乘法逆元k,将a乘上k再模p,即(a*k) mod p。其结果与(a/b) mod p等价。证:(其实很简单。。。)根据b*k≡1 (mod p)有

2015-04-05 23:17:25 889

原创 51nod 1264 线段相交

写得很复杂,还好一遍过了。方法是直接根据线段两点,得到直线方程,联立方程组求交点,然后看交点是否在两线段之间。注意平行、位于同一直线时的情况就可以了。肯定还有更好的方法。有时间会补上。#includeusing namespace std;#define LL long longstruct P{ double x,y;};int cmp(double x)

2015-04-05 22:54:08 71

原创 Om Nom and Dark Park

传送门题目大意:一颗深度为n+1的满二叉树,根结点编号为1。现在要增加一些边的边权,使根结点到每个叶子节点所经过的边权之和相等。求增加的最小值。分析:对于一个节点到两个子节点,若两边边权不相等,则需要增加较少的一边的边权,使其相等。从而可以自下而上,依次求出两个子节点到根节点边权的差值,累加即可。每次求出差值后,还应当将较大的边权累加到其父节点到其祖父结点的边权上,保证一致性。#i

2015-04-05 21:27:19 683

原创 hdu 1171 Big Event in HDU

题目大意:给出n种facilities价值和数量,将其分成两部分,使得两部分价值尽可能相等,前者价值不少于后者。此题解法甚多。这里还是用母函数来做。生成函数:G(x)=(1+x+……+x^k1)(1+x+……+x^k2)…(1+x+……+x^kn)利用母函数得到可以构成的所有价值。然后从总价值的一半处向上或向下找最接近的两个值即可。#include#inc

2015-04-05 17:35:56 358

原创 hdu 1085 Holding Bin-Laden Captive!(母函数)

题目大意:给出1、2、5分硬币数目,问不能构成的面值的最小值是多少。生成函数:(1+x+x^2+x^3……x^k1)*(1+x^2+x^4……x^2*k2)*(1+x^5+x^10……x^5*k3)#include#include#include#include#includeusing namespace std;int c[8005],c0[

2015-04-05 16:41:54 379

原创 hdu 1398 Square Coins (母函数)

题意:有面值为平方数的硬币若干,最小为1,最大为17^2,给出面值n,问能有多少种组成方案。生成函数如下:G(x)=(1+x+x2+x3+x4+…)(1+x4+x8+x12+…)(1+x9+x18+x27+…)…#include#include#include#include#includeusing namespace std;int

2015-04-05 15:33:00 363

原创 母函数(生成函数)学习 hdu 1028

学习资料:资料1、资料2、资料3hdu 1028整数划分问题#include#include#include#include#includeusing namespace std;int c[125],c0[125];void init(int n){ int i,j,k; for(i=0;i<=n;++i) c0[i]=1,c[

2015-04-05 15:20:05 342

原创 hdu 5200 trees(离线处理)

n棵树,依次编号为1-n,第i棵树的高度为h[i],当编号为x、y的树满足下面条件时,视其属于同一块1) x+1=y 或 y+1=x;2) 存在一个棵未被坎掉的树,编号为z ,x 和z 在同一个块并且y 和z 也在同一个块。现在坎掉一些高度不大于某个值的树,问坎掉之后会形成多少个块。分析:对于每一个询问,若后一个询问高度大于前一个询问的高度,则后一个询问可以在前一个询问的基

2015-04-05 09:19:10 524

原创 hdu 5198 Strange Class

判断所给字符串是否是由三个字母构成,要求三个字母个数相等且连续。先判断字符串长度是否为3的倍数,然后取三段中的字符各一个,看是否相同,再依次判断各段字母是否连续。#include#include#include#include#include#includeusing namespace std;#define LL long longchar s[15];int

2015-04-04 22:50:29 436

原创 hdu 5199 (二分||Hash||map)

问题描述很久很久以前,有一个叫Jack的枪手。他非常喜欢打猎。一天,他去了一个小树林。那儿有n只鸟,还有n棵树。第i只鸟站在第i棵树的顶端。这些树从左到右排成一条直线。每一棵树都有它的高度。Jack站在最左边那棵树的左边。当Jack在高度为H的地方向右发射一棵子弹时,站在高度为H的树上的鸟儿就会落下来。Jack会射击多次,他想知道每次射击会有多少鸟儿落下来。输入描述多组测试

2015-04-04 22:09:11 399

原创 51nod 1265 四点共面

利用四点组成构成的三个向量的混合积为0来判断是否共面。#include #includetypedef struct{ double x,y,z;}P;P p[5];double mul(P a,P b){return a.x*b.x+a.y*b.y+a.z*b.z;}P del(P a,P b){ P ans; ans.x=a.x-b.x,an

2015-04-04 20:57:05 593

原创 codeforces 5C Longest Regular Bracket Sequence

给一个括号序列,求满足括号匹配的最长子串长度和个数。可以用栈来依次记录序列中的左括号位置,每当出现一个右括号,判断栈是否为空,若不为空,用此时右括号的位置i减去最近的左括号位置再+1即可得到串的长度。需要注意的是这种情况:()(),在第二个括号之前已经有符合条件的串,这里需要记录左括号之前的位置已经得到的串的长度。设dp[i]表示到第i个右括号所获串的长度。则dp[i]=dp[

2015-04-04 15:29:53 687

原创 5B Center Alignment(字符串处理)

题目大意:给一段文本,将其居中。当不能恰好居中时,先靠左居中,下一行靠右居中。脑残WA了好几发。#includeusing namespace std;char s[1001][1005];int len;int main(){ int cnt=0,i,j; while(fgets(s[cnt],sizeof(s[cnt]),stdin)) {

2015-04-03 20:42:58 527

原创 51nod 1298 圆与三角形

#include#include#includeusing namespace std;struct P{ double x,y;};struct circle{ P c; double r;};int cmp(double x){ if(fabs(x)<1e-15) return 0; if(x>0) return

2015-04-02 22:44:51 990

原创 51Nod 1241 特殊的排序

题目传送门 分析:之前想的是求LIS,后面发现这组数据会出问题:3 1 2 4 5 6。其实这里的LIS还应当满足前后两个元素的值相差为1。比如上面的最长子序列为:3 4 5 6,而不是1 2 4 5 6。即只需移动1、2即可。具体证明,有时间再搞。。 #include#include#includeusing namespace std;int a[50005],

2015-04-01 22:15:54 795

计算机网络课设-邮件客户端实现(含源码、报告)

开发平台:VC6.0 MFC 开发语言:C++ 内容:包含源程序和源代码以及相关报告。

2017-02-21

网络编程大作业(邮件客户端实现,含源码)

网络编程大作业(邮件客户端实现,含源码)

2017-02-21

计组课设(基于FPGA的CPU设计)

含数据通路图、状态转换图、相关文档、verilog源码以及测试代码

2015-09-08

用MFC开发的扫雷游戏程序(含源码)

仿制windows自带的扫雷程序。

2015-09-08

MFC开发的多功能高精度计算器(含源码

【版本说明】 1、增加运算符填写功能 2、增加进制转换功能(500位数有效) 3、增加数据统计功能 4、增加运算精度调节(仅针对除法和圆周率的计算) 5、增加单位转换功能 6、增加输入结果按钮,可将上一次运算结果作为数值输入 7、增加线性方程组求解功能 8、优化求圆周率的算法,可精确到9000位以上 9、修正了之前版本的一些bug 10、美化界面 【版权说明】 未经编写人员许可,任何单位及个人不得以任何方式或理由对该产品进行复制、修改、抄录、传播或与其它产品捆绑使用、销售。

2015-09-07

空空如也

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

TA关注的人

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