2014年3月16日

【HDOJ】1204 糖果大战

摘要: 题目本身不难。类似于dp。f(i)表示手中现有i颗糖果赢的概率,则下一局赢的概率是p(1-q),下一局输的概率是q(1-p),下一句平手的概率是1-p(1-q)-q(1-p),平手包括两人均答对或答错。那么可推导状态转移方程:f(i) = p(1-q)f(i-1) + q(1-p)f(i+1) + [ 1-p(1-q)-q(1-p) ]f(i)归并相同项可以得到等比数列,p(1-q)(f(i) - f(i-1)) = q(1-p)(f(i+1) - f(i))。设定比例系数,并利用等比数列求和公式可求。其中需要注意的是,f(0)=0,f(n+m)=1,因为手中若已经有n+m颗糖果,则已经获得全 阅读全文

posted @ 2014-03-16 22:49 Bombe 阅读(323) 评论(0) 推荐(0) 编辑

2014年3月14日

【HDOJ】1408 盐水的故事

摘要: 简单题,感觉非常简单,像小学奥数的植树问题。#include #include #define MAXNUM 5001int main() { double vul, d; int i, k, time, tmp; while (scanf("%lf %lf", &vul, &d) != EOF) { tmp = ceil(vul / d); k = 0; for (i=1; i= tmp) break; } time = tmp + i-1; printf("%... 阅读全文

posted @ 2014-03-14 22:26 Bombe 阅读(162) 评论(0) 推荐(0) 编辑

2014年3月13日

【DataStructure In Python】Python模拟二叉树

摘要: 使用Python模拟二叉树的基本操作,感觉写起来很别扭。最近做编译的优化,觉得拓扑排序这种东西比较强多。近期刷ACM,发现STL不会用实在太伤了。决定花点儿时间学习一下STL。Boost其实也很强大。关于Python最近没什么时间搞了,忙着复试了。不过,挺喜欢这语言的。复试完继续大战PythonChallenge。 1 #! /usr/bin/env python 2 # DataStrucure Tree 3 4 import sys 5 6 class BTNode: 7 8 def __init__(self, data, lchild=None, ... 阅读全文

posted @ 2014-03-13 22:29 Bombe 阅读(554) 评论(0) 推荐(0) 编辑

2014年3月12日

【HDOJ】2062 Subset sequence

摘要: 这道题目非常好,饶了点儿圈子。我的思路是,先按照组排列。例如,1 2 31 2 2 1 3 11 2 3 2 1 3 3 1 21 3 2 3 3 21 3 2 2 3 1 3 2 1分成3组,每组个数是确定的,因此可以通过m/组数获得第一个数字,然后组数因n--而减小。重新计算属于哪一组,但此时需要考虑printf的数字,因此使用visit数组保证每个数字仅遍历一次。需要注意的是m应先--,这样第1个和第5个可以保证在同一组内。组后需要注意long long,题目非常好。#include #include #define MAXNUM 25long long each_gp[MAXNUM] 阅读全文

posted @ 2014-03-12 14:09 Bombe 阅读(393) 评论(0) 推荐(0) 编辑

2014年3月11日

【POJ】1054 The Troublesome Frog

摘要: 题目是非常经典的搜索+剪枝。题意简言之就是,青蛙需要沿着直线踩着踏点通过田地,并且踏点需要至少为3。问哪条路径青蛙踩坏的作物最多。很好的一个条件是青蛙每次移动都是等间距的。题目需要注意将其排序。#include using namespace std;#define MAXNUM 5005typedef struct { int x, y;} point_st;point_st points[MAXNUM];bool Fields[MAXNUM][MAXNUM];int r, c, n;int comp(const void *a, const void *b) { point_s... 阅读全文

posted @ 2014-03-11 18:18 Bombe 阅读(177) 评论(0) 推荐(0) 编辑

【Pyhton Network】使用poll()或select()实现非阻塞传输

摘要: 通常情况下,socket上的I/O会阻塞。即除非操作结束,否则程序不会照常进行。而以下集中情况需要在非阻塞模式下进行:1. 网络接口在等待数据时是活动的,可以做出相应;2. 在不使用线程或进程的情况下也可以同时处理多个网络相关任务;3. 在网络上等待的时候可以执行其它计算在以上情况中,可以使用两个标准工具解决,poll和select。它们都可以通知操作系统哪个socket对程序感兴趣,当该socket上有事件发生时,操作系统才调用处理程序。服务器程序每隔5秒向连接对象发送系统当前时间,如下:#! /usr/bin/env python# Delaying Server - Chapter 5 阅读全文

posted @ 2014-03-11 10:21 Bombe 阅读(327) 评论(0) 推荐(0) 编辑

2014年3月10日

【Python Network】分解DNS查询结果

摘要: 针对DNS查询records,通过NS、PTR、CNAME和MX类别不同,返回数据将包含另外主机名。为了解最终的IP地址,通过将返回信息分解。继续使用PyDNS获取详细信息。#! /usr/bin/env python# DNS query program - Example 4 - DNSquery.pyimport sys, DNS, re, DNSanydef getreverse(query): """ Given the query, returns an approciate reverse lookup string under IN-ADDR.AR 阅读全文

posted @ 2014-03-10 22:07 Bombe 阅读(664) 评论(0) 推荐(0) 编辑

【DataStructure In Python】Python实现各种排序算法

摘要: 使用Python实现直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序、归并排序、基数排序。#! /usr/bin/env python# DataStructure Sort# InsertSortdef InsertSort(lst, end=None, beg=0, space=1): if end is None: end = len(lst) for i in range(beg, end, space): tmp = lst[i] j = i-space while j>=beg and tmp 3->1 ... 阅读全文

posted @ 2014-03-10 09:49 Bombe 阅读(316) 评论(0) 推荐(0) 编辑

2014年3月9日

【Python Network】权威域名服务器级联查询

摘要: 如果PyDNS库,跳过本地名称服务器,直接向权威名称服务器查询。如baidu.com查询.com域名服务器,并从各个域名服务器中查询下一即域名,并输出相关信息。#! /usr/bin/env python# Expanded DNS library example - Chapter 4 - DNSany.pyimport sys, DNSdef hierquery(qstring, qtype): """Given a query type qtype, returns answers of that type for lookup qstring. If no 阅读全文

posted @ 2014-03-09 22:02 Bombe 阅读(627) 评论(0) 推荐(0) 编辑

【HDOJ】1502 Regular Words

摘要: 大数+DP,感觉这个DP有点儿抽象,而且这个是大数,wa了很多次。#include #define MAXNUM 61#define MAXLEN 100typedef struct { char val[MAXLEN];} src_st;src_st dp[MAXNUM][MAXNUM][MAXNUM];void BigIntAdd(src_st *a, src_st *b) { int i; for (i=0; ival[i] += b->val[i]; if (a->val[i] >= 10) { a->val[i+1]++; ... 阅读全文

posted @ 2014-03-09 16:10 Bombe 阅读(203) 评论(0) 推荐(0) 编辑

导航