<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tcs.nju.edu.cn/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=172.25.45.158</id>
	<title>TCS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://tcs.nju.edu.cn/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=172.25.45.158"/>
	<link rel="alternate" type="text/html" href="https://tcs.nju.edu.cn/wiki/index.php?title=Special:Contributions/172.25.45.158"/>
	<updated>2026-05-02T21:12:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://tcs.nju.edu.cn/wiki/index.php?title=Current_target&amp;diff=4183</id>
		<title>Current target</title>
		<link rel="alternate" type="text/html" href="https://tcs.nju.edu.cn/wiki/index.php?title=Current_target&amp;diff=4183"/>
		<updated>2010-11-17T12:10:29Z</updated>

		<summary type="html">&lt;p&gt;172.25.45.158: /* 2010 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2010 =&lt;br /&gt;
== 11/17 ==&lt;br /&gt;
Linear Algebra!!!&lt;br /&gt;
&lt;br /&gt;
== 11/16 ==&lt;br /&gt;
#symbolic logic!!!&lt;br /&gt;
#&amp;lt;nowiki&amp;gt;:)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11/13 ==&lt;br /&gt;
#利用gmp库，解决a*b过大的问题&lt;br /&gt;
#找到较合适的prime generate方法&lt;br /&gt;
#实现移位的hash funcion&lt;br /&gt;
#(*)实现FSK的动态版本&lt;br /&gt;
#(*)分析ax+b mod p mod M与ax+b mod M的区别&lt;br /&gt;
#(*)分析FSK与传统的Hash方法的效率&lt;/div&gt;</summary>
		<author><name>172.25.45.158</name></author>
	</entry>
	<entry>
		<id>https://tcs.nju.edu.cn/wiki/index.php?title=Current_target&amp;diff=4182</id>
		<title>Current target</title>
		<link rel="alternate" type="text/html" href="https://tcs.nju.edu.cn/wiki/index.php?title=Current_target&amp;diff=4182"/>
		<updated>2010-11-17T12:10:18Z</updated>

		<summary type="html">&lt;p&gt;172.25.45.158: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2010 =&lt;br /&gt;
== 11/17 ==&lt;br /&gt;
Linear Algebra&lt;br /&gt;
&lt;br /&gt;
== 11/16 ==&lt;br /&gt;
#symbolic logic!!!&lt;br /&gt;
#&amp;lt;nowiki&amp;gt;:)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11/13 ==&lt;br /&gt;
#利用gmp库，解决a*b过大的问题&lt;br /&gt;
#找到较合适的prime generate方法&lt;br /&gt;
#实现移位的hash funcion&lt;br /&gt;
#(*)实现FSK的动态版本&lt;br /&gt;
#(*)分析ax+b mod p mod M与ax+b mod M的区别&lt;br /&gt;
#(*)分析FSK与传统的Hash方法的效率&lt;/div&gt;</summary>
		<author><name>172.25.45.158</name></author>
	</entry>
	<entry>
		<id>https://tcs.nju.edu.cn/wiki/index.php?title=Yonghang&amp;diff=4166</id>
		<title>Yonghang</title>
		<link rel="alternate" type="text/html" href="https://tcs.nju.edu.cn/wiki/index.php?title=Yonghang&amp;diff=4166"/>
		<updated>2010-11-17T10:46:40Z</updated>

		<summary type="html">&lt;p&gt;172.25.45.158: /* 2010 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2010 = &lt;br /&gt;
&lt;br /&gt;
== 11/17 ==&lt;br /&gt;
insterested in bloom flitters :)&lt;br /&gt;
&lt;br /&gt;
== 11/13 ==&lt;br /&gt;
经过与老师讨论,发现有p和没p的区别是巨大的,有p之后可以认为理想的状态下perfect hash的概率是二分之一，无p则可能很小，所以才会一直卡在一个bucket内。&lt;br /&gt;
&lt;br /&gt;
重新确认了a，b，p的值域：a [1,p-1],b [0,p-1],p bigger than universe.&lt;br /&gt;
&lt;br /&gt;
现在的程序效率较好，但还有待于进一步检验&lt;br /&gt;
&lt;br /&gt;
== 11/12 ==&lt;br /&gt;
把重写的FSK调试了一下，总是觉得不该时间这么长&lt;br /&gt;
&lt;br /&gt;
== 11/11 ==&lt;br /&gt;
读数据的接口打算使用fstream,这需要重复读取数据，在写一个简单的测试程序时遇到了不少问题&lt;br /&gt;
 #include&amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include&amp;lt;fstream&amp;gt;&lt;br /&gt;
 #include&amp;lt;string&amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
    ifstream in(&amp;quot;data.in&amp;quot;);&lt;br /&gt;
    ofstream out(&amp;quot;data.out&amp;quot;);&lt;br /&gt;
    string s;&lt;br /&gt;
    while(in&amp;gt;&amp;gt;s)&lt;br /&gt;
    {&lt;br /&gt;
        out&amp;lt;&amp;lt;s&amp;lt;&amp;lt;&#039; &#039;;&lt;br /&gt;
    }&lt;br /&gt;
    in.seekg(0,ios::beg);&lt;br /&gt;
    out.seekp(0,ios::end);&lt;br /&gt;
    while(in&amp;gt;&amp;gt;s)&lt;br /&gt;
    {&lt;br /&gt;
        out&amp;lt;&amp;lt;s;&lt;br /&gt;
    }&lt;br /&gt;
    in.close();&lt;br /&gt;
    out.close();&lt;br /&gt;
    return 0;&lt;br /&gt;
 }&lt;br /&gt;
原本应该在data.out中输出两遍data.in的数据，但是实际上只输出了一遍。&lt;br /&gt;
也就是说，    in.seekg(0,ios::beg);这行没能把读指针指向开头，经过单步调试也未能解决&lt;br /&gt;
和大三的学长讨论了很久没有结果&lt;br /&gt;
&lt;br /&gt;
后来在网上搜索，看到一个[http://hi.baidu.com/shzkkqq/blog/item/72a30b24d621c00f4d088d3f.html 网页]&lt;br /&gt;
&lt;br /&gt;
 fstream存在状态：&lt;br /&gt;
 当被打开第一次以后，状态处于错误状态。&lt;br /&gt;
 fstream错误状态&lt;br /&gt;
 fail() , eof() , bad();&lt;br /&gt;
 failbit ， eofbit ，badbit 。&lt;br /&gt;
 正确状态&lt;br /&gt;
 good(),&lt;br /&gt;
 good = not(fail or eof or bad)&lt;br /&gt;
&lt;br /&gt;
实际上文件读完的时候fail会自动置为true，所以可以使用clear函数,将fail设置为false.测试代码如下，只取部分 &lt;br /&gt;
    ifstream in(&amp;quot;data.in&amp;quot;,ios::binary);&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;isfail   &amp;quot; &amp;lt;&amp;lt; in.fail() &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;isbad   &amp;quot; &amp;lt;&amp;lt; in.bad() &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;iseof   &amp;quot; &amp;lt;&amp;lt; in.eof() &amp;lt;&amp;lt;endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;isgood   &amp;quot;&amp;lt;&amp;lt; in.good() &amp;lt;&amp;lt; endl;&lt;br /&gt;
    in.clear();&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;isfail   &amp;quot; &amp;lt;&amp;lt; in.fail() &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;isbad   &amp;quot; &amp;lt;&amp;lt; in.bad() &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;iseof   &amp;quot; &amp;lt;&amp;lt; in.eof() &amp;lt;&amp;lt;endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;isgood   &amp;quot;&amp;lt;&amp;lt; in.good() &amp;lt;&amp;lt; endl; &lt;br /&gt;
输出结果为&lt;br /&gt;
 isfail   1&lt;br /&gt;
 isbad   0&lt;br /&gt;
 iseof   1&lt;br /&gt;
 isgood   0&lt;br /&gt;
 isfail   0&lt;br /&gt;
 isbad   0&lt;br /&gt;
 iseof   0&lt;br /&gt;
 isgood   1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
写了一个rabin-miller的测试程序，并安装了gmp库，代码就不附在这里了&lt;br /&gt;
&lt;br /&gt;
== 11/10 ==&lt;br /&gt;
11/11&lt;br /&gt;
补：昨天把kaiyuan写的代码看了一遍，修改了一下，把gsl_rng.h的东西用了进去，转为ubuntu下可以运行的版本&lt;br /&gt;
同样的，关于程序运行的次数，我也有疑问，为什么每次的次数感觉远大于两次&lt;br /&gt;
&lt;br /&gt;
== 11/9 ==&lt;br /&gt;
今天把ubuntu重新安装了一遍，将分区大小改为了6GB。在重新装的时候遇到了一点问题，可以上网,但update manager无法正常工作，正在国外论坛查找解决方案，不知怎么就突然好了，下次遇到还是没有办法。&lt;br /&gt;
在windows中的文件和ubuntu中的文件互相移动后（通过将磁盘mount的方式），如果再次访问，经常会出现permission denied的情况，不是太建议这么做。&lt;br /&gt;
下面介绍gnu库的基本安装方法&lt;br /&gt;
#从gnu的ftp上下载你所需要的库，以gsl为例&lt;br /&gt;
#将压缩包解压至非mount设备的地方，比如home/y0ukn0w/Documents //y0ukn0w is my username&lt;br /&gt;
#cd /home/Documents/gsl-1.14&amp;lt;br /&amp;gt; chmod a+x configure //有时不需要这一句 &amp;lt;br /&amp;gt; ./configure &amp;lt;br /&amp;gt; make &amp;lt;br /&amp;gt; make install&lt;br /&gt;
#ps : 可以打开文件夹，找到对应的INSTALL，里面会有说明&lt;br /&gt;
#在连接的时候可能还是会出错。这时，可以选择输入相应的指令；如果你用的是codeblocks，那么，settings-&amp;gt;compilers and debugger settings-&amp;gt;linker libraries,在这里加入相应的lib&lt;br /&gt;
&lt;br /&gt;
下面介绍gsl/gsl_rng.h的简单使用方法&lt;br /&gt;
代码如下&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;gsl/gsl_rng.h&amp;gt;&lt;br /&gt;
 #include&amp;lt;time.h&amp;gt;&lt;br /&gt;
 int&lt;br /&gt;
 main (void)&lt;br /&gt;
 {&lt;br /&gt;
   const gsl_rng_type * T;&lt;br /&gt;
   gsl_rng * r;&lt;br /&gt;
   T = gsl_rng_rand; //可以将其设置为不同的值，以获取不同的随机数,如改为gsl_rng_randu,gsl_rng_knuthran2002,具体参考manul&lt;br /&gt;
   r = gsl_rng_alloc (T);&lt;br /&gt;
   int i, n = 10;&lt;br /&gt;
   gsl_rng_set(r,int(time(NULL))); //设置随机数seed&lt;br /&gt;
   gsl_rng_env_setup();&lt;br /&gt;
   for (i = 0; i &amp;lt; n; i++)&lt;br /&gt;
     {&lt;br /&gt;
       double u = gsl_rng_uniform (r);&lt;br /&gt;
       printf (&amp;quot;%.5f\n&amp;quot;, u);&lt;br /&gt;
     }&lt;br /&gt;
    double u = gsl_rng_uniform(r);&lt;br /&gt;
    printf(&amp;quot;%.5f\n&amp;quot;,u);&lt;br /&gt;
   gsl_rng_free (r);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
gsl_rng.h的部分可选用参数如下&lt;br /&gt;
*[[gsl_rng_rand]]&lt;br /&gt;
&lt;br /&gt;
在写需要template的头文件时，为方便调试，往往通过修改头文件的方式来完成。&lt;br /&gt;
现在想来，是自己的接口设计的还不够好。&lt;br /&gt;
现在数据的输入输出打算这样完成：&lt;br /&gt;
#一个程序负责生成随机数，将其输入到data.in文件中&lt;br /&gt;
#主程序中有一个函数ReadData，测试程序中打开data.in和data.out，调用ReadData，将数据读入，处理后输出到data.out中。&lt;br /&gt;
--You will when you believe 13:03, 8 November 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>172.25.45.158</name></author>
	</entry>
</feed>