加载中…
个人简介
ACMer,ACG爱好者,爱摄影,爱旅游,爱思考,讨厌走极端
个人资料
八九寺老黑
八九寺老黑
  • 博客等级:
  • 博客积分:0
  • 博客访问:10,821
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
评论
加载中…
留言
加载中…
分类
博文
置顶: (2014-04-01 18:00)
分类: 随笔
    以后应该不会继续在新浪博客发文章,尤其是IT相关的。
    开始用csdn的博了:http://blog.csdn.net/bipedal_bit
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
不瞒大家,这段sql脚本是网上搜罗来做了细微修改的。原po建表的思路我很欣赏,是用类似并查集储存树的思想。根节点是中国,归属节点为空,id为1,下一层是34个省、直辖市和行政特区,都归属跟结点也就是结点1,剩下的就是归属第二层的地级市了。这么一来,就在一张表中有组织地存储了3级地区数据。
实际用的时候自己手动建个表,叫location,列宽都先设宽一点,后面再改,导入后language列不用的话可以删掉,嗯不啰嗦了。
==================================================================================================
insert into location (id,name,fid,language) values(1,'中国',null,0);

insert into location (id,name,fid,language) values(2,'北京',1,0);
insert into location (id,name,fid,language) values(3,'北京',2,0);

insert into location (id,name,fid,language) values(4,'上海',1,0);
insert into location (id,name,fid,language) values(5,'上海',4,0);

insert into location (id,name,fid,language) values(6,'香港特别行政区',1,0);
insert into location (
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

c

sqlserver

数据库类

分类: C#
这个类写得比较晚,是前几天刚开asp.NET课布置作业的时候手痒一口气写完的,这个类我特意用了namespace是准备以后想起来了再把另两种ADO.NET支持的数据库的操作也建类放进去。嗯,没用到窗口,是纯C#,所以winform和asp.NET可以通用,复用性比较好,我挺喜欢的。
==================================================================================================
using System;
using System.Data;
using System.Data.SqlClient;

namespace IDataBase
{
    public class SQLDB
    {
        ///
        /// 数据库连接字符串
        ///
        public string ConnectionString
        {
            get;
           
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

winform

工具类

word与byte[]互转

c

分类: C#
要在数据库中存储word文件免不了要在word文件和二进制文件流之间做转换,于是我又手痒写类了。
==================================================================================================
using System;
using System.Data;
using System.Windows.Forms;
using System.IO;

public class WordToByte
{
    ///
    /// 寻找Word文件并获得其二进制文件流
    ///
    ///
    static public byte[] GetByte()
    {
        OpenFileDialog openDialog = new OpenFileDialog();
        openDialog.Filter = 'word文件(*.DOC;*.DOCX)|*.DOC;*.DOCX|所有文件(*.*)|*.*';
        if (openDialog.ShowDialog() != DialogResult.OK)
        {
        
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

winform

工具类

word转.mht

c

分类: C#
这个类的由来是做项目时有用webBrowser控件显示word文件的需要,但是比较惭愧,没有找到很舒心的方法,于是转而把word文件转换成单文件网页文件.mht来显示。贴心提示:webBrowser控件宽度设置成750px比较能还原word文档的显示效果。
==================================================================================================
using System;
using System.Reflection;
using System.Text;
using System.IO;
using System.Collections;
using Microsoft.Office.Interop.Word;
public class Word2mht
{
    ///
    /// 提取文件绝对路径的文件名部分,并把文件名后缀换成.mht
    ///
    ///
    ///
    static public string GetMhtName(string Directory)
    {
        int pathLength = Directory.LastIndexOf(Path.DirectorySeparatorChar);
       
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

c

winform

数据库转excel

工具类

分类: C#

做比赛项目的过程中出了不少副产品,其中就有几个我自制的C#工具类。因为项目是C/S架构,所以这几个类都是预备给winform

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

poj

最小生成树

并查集

图论

分类: 图论

Conscription

Time Limit: 1000MS
Memory Limit: 65536K

Description

Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect them to be his soldiers. To collect a soldier without any privilege, he must pay 10000 RMB. There are some relationships between girls and boys and Windy can use these relationships to reduce his cost. If girl x and boy y have a relationship d and one of them has been collected, Windy can collect the other one with 10000-d RMB. Now given all the relationships between girls and boys, your assignment is to find the least amount of money Windy has to pay. Notice that only one relationship can be used when collecting one soldier.

Inpu

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

hdu

汉密尔顿问题

竞赛图

分类: 图论

Tour Route

Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 466    Accepted Submission(s): 80
Special Judge


Problem Description
The city is so crowded that the mayor can't bear any longer. He issued an order to change all the roads into one-way street. The news is terrible for Jack, who is the director of a tourism company, because he has to change the travel route. All tourists want to set out from one scenic spot, then go to every scenic spots once and only once and finally return to the starting spot. They don’t care about which spot to start from, but they won’t go back to the starting spot before they have visited all other spots. Fortunately, the roads in the city have been perfectly built and an
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 图论
这几天我都没发博文不是我玩去了,其实一直在纠结一道题,hdu3414/poj3780.
竞赛图的汉密尔顿问题。今天看了大神的题解才终于在hdu过了,不过我仍然对31ms过的大神做法感到困惑。
同样困惑的一件事是这道题在poj wa了,是wa了,不是re,也不是tle。
poj只有4个人过,有个人过了3次,时间全在六七百ms,可见算法应该区别不大。
所以我来写这篇总结心里还是有点忐忑的。
==================================================================================================
对于一个图中是否存在一条哈密顿路,没有可靠的充分必要条件(貌似邻接矩阵恒式可以?),因此求哈密顿路是一个NP问题,一般要使用搜索和状压dp求解,但汉密尔顿回路的存在有许多充分条件,即当图满足某些特定性质的时候,汉密尔顿回路一定存在,而且可以根据一些算法构造出来。

1.Dirac定理:设一个无向图中有 N 个节点,若所有节点的度数都大于等于 N/2,则汉密尔顿回路一定存在。

(“N/2” 中的除法不是整除,而是实数除法,该条件中的 “N/2” 等价于 “⌈
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2013-08-23 17:58)
标签:

拓扑排序

分类: 图论
关于拓扑排序,我觉得是一类比较鸡肋的问题。
思想很简单,写起来也不麻烦,写个总结总感觉意义不大。
模板就不用了,我就来简单介绍下拓扑排序,也就翻篇不在这浪费时间了。

【用途】拓扑排序是用来把一个有向无环图(DAG)按照前驱比后继优先的顺序把各个点排成一列。

【流程】
①找到图中入度为0的点,这些点优先级相同,如果有处理这种优先级相同的排序方案,那么就按方案依次把这些点放进排序序列。然后把这些点以及跟这些点相连的边从图中删除。
②如果图中还有剩余的点,重复步骤①。
(如果有向图中有环,则不能进行拓扑排序,可以提前判断有向图是否有环,也可以在拓扑排序时提前跳出。跳出点在寻找入度为0的点之后,如果没有找到入度为0的点,图中又还有剩余的点,那么必定有环,跳出。)

拓扑排序比较简单,不用看模板,要参考写法可以看看我刚才发的hdu2647题解。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2013-08-23 17:42)
标签:

acm

hdu

拓扑排序

分类: 图论

  Reward

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Problem Description
Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to distribute rewards to his workers. Now he has a trouble about how to distribute the rewards.
The workers will compare their rewards ,and some one may have demands of the distributing of rewards ,just like a's reward should more than b's.Dandelion's unclue wants to fulfill all the demands, of course ,he wants to use the least money.Every work's reward will be at least 888 , because it's a lucky number.
 
Input
One line with two integers n and m ,stands for the number of works and the number of demands .(n<=10000,m<=20000)
then m lines ,each line co
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有