歡迎辭

歡迎來到“篤志以礪,決起而飛”!
如果您是第一次來到本站,建議訪問本站導讀以便更快地了解本站。
如果您喜歡本站,歡迎訂閱

 

2012 年五月
« 四  
 123456
78910111213
14151617181920
21222324252627
28293031 

POJ 2109 Power of Cryptography

雖然這道題使用 double 類型就可以過,但我由於擔心精度問題還是寫了高精度。
實際上,由於一個數被乘方之後很小的差別對應的結果差別非常大,所以 double 應該確實可以。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
 
using namespace std;
 
const int bitlen = sizeof(long);
const int bitmax = 10000;
 
#define maxof(a,b) (a > b ? a : b)
 
int a;
string b;
 
/* Class Number
 * Represents a big number.
 */
template<int T>
class number {
	public:
		/* init a new number by a input of integer. */
		number(const long i) {
			init();
			if (i < bitmax) {
				bit[0] = 1;
				bit[T] = i;
				return;
			}
			long l = 0, j = i, m;
			while ((m = j / bitmax, j) != 0) {
				bit[T - l++] = j - m * bitmax;
				j = m;
			}
			bit[0] = l;
		}
		/* the real size of bit[] */
		long size() const {
			return bit[0];
		}
		void show() const {
			if (bit[0] == 0) {
				cout << "0";
				return;
			}
			for (int i = 0; i < bit[0]; ++i) {
				cout << bit[T - bit[0] + i + 1];
			}
			cout << "(" << bit[0] << ")" << endl;
		}
		string showToString() const {
			if (bit[0] == 0) {
				return string("0");
			}
			string s;
			char ct[5];
			for (int i = 0; i < bit[0]; ++i) {
				sprintf(ct, "%d", bit[T - bit[0] + i + 1]);
				int p = 4 - strlen(ct);
				if (p > 0 && i != 0)
					for (int f = 0; f < p; ++f)
						s.append ("0");
				s.append(ct);
			}
			return s;
		}
		number<T> operator+(const number<T> &num2) const {
			if (num2.size() == 0) {
				return *this;
			}
			int len = maxof(this->size(), num2.size()), jw = 0;
			number<T> sum(0);
			for (int a = 0; a < len; ++a) {
				sum.bit[T - a] = this->bit[T - a] + num2.bit[T - a] + jw;
				jw = 0;
				if (sum.bit[T - a] >= bitmax) {
					sum.bit[T - a] %= bitmax;
					jw = 1;
				}
			}
			if (jw == 1)
				len++;
			sum.bit[0] = len;
			return sum;
		}
		number<T> operator<<(const int i) const {
			if (i != 1)
				throw exception();
			number<T> tmp(*this);
			for (int i = tmp.size (); i > 0; --i)
				tmp.bit[T - i] = tmp.bit[T - i + 1];
			tmp.bit[T] = 0;
			tmp.bit[0]++;
			return tmp;
		}
		number<T> operator*(const number<T> &num2) const {
			if (this->size() == 0 || num2.size() == 0) {
				return number<T>(0); // 0
			}
			if (this->size() == 1 && num2.size() == 1) {
				return number<T>(this->bit[T] * num2.bit[T]);
			}
			number<T> sum(0);
			for (int a = 0; a < this->size(); ++a) {
				for (int b = 0; b < num2.size(); ++b) {
					int cj = this->bit[T - a] * num2.bit[T - b];
					number<T> tmp(cj);
					for (int c = 0; c < a + b; ++c) {
						tmp = tmp << 1;
					}
					sum = sum + tmp;
				}
			}
			return sum;
		}
		long bit[T + 1];
	private:
		void init()	{
			memset(bit, 0, sizeof(bit));
		}
};
 
typedef number<100> bignum;
 
bignum power(int i, int p) {
	bignum tmp(i), tmp2(i);
	for (int i = 0; i < p - 1; ++i)
		tmp = tmp * tmp2;
	return tmp;
}
 
void check(int l, int r) {
	if (l == r)	{
		cout << l << endl;
		return;
	}
	int m = (l + r) / 2;
	bignum tmp = power(m, a);
	string ss = tmp.showToString();
	if (b == ss) {
		cout << m << endl;
		return;
	}
	else {
		if (ss.size() > b.size() || (ss.size() == b.size() && ss > b)) {
			check (l, m - 1);
		}
		else {
			check (m + 1, r);
		}
	}
}
 
int main () {
	while (cin >> a >> b) {
		check(1, 1000000000);
	}
	return 0;
}

精英的「灰飛煙滅」與大衆的「浴火重生」——從清華學堂失火看精英與大衆的分裂

註:本文轉載於自網絡,作者係北大2008級本科生江東晛。從 BYVoid 二次轉載。

本文邏輯結構

清華學堂火災——網民的非理性反應
第一部分:同情心的缺失——反映出精英與大眾的嚴重對立、人心的扭曲
第二部分:從精英的角度看大眾——平民意識確實在無理取鬧
第三部分:從大眾的角度看精英——中國精英的人才流失——教育特權化的社會意識——受過教育的精英脫離了大眾,墜入了自我利益的深淵——大眾不是完全在無理取鬧
第四部分:知識精英的命運——超階級性作為知識階層的特質、知識階層“設計社會”的使命——當今中國知識精英的階級化危險——歷史:新文化運動之後獨立知識分子的悲劇——現實:中國知識精英可能會重複階級化的悲劇
第五部分:社會極化的邏輯——精英的寡頭化導致下層的民粹化——意識形態重新武裝社會
第六部分:理想社會的期待——正常社會中精英與大眾的制約關係——知識精英的最後防線——中國精英的普遍使命

正文始

2010年11月13日,就在清華大學即將迎來百年校慶之際,一把大火卻沒有任何預兆地降臨在了這所學校的頭上。該校歷史最悠久、意義最重大的建築——清華學堂,在這場大火中遭遇了重創。雖然在外觀上看不出來主體結構有任何損壞,但是,當兩眼蔚藍色的天空透過空洞的窗欞呈現在我眼前的時候,我知道,裡面的木結構材料早已經灰飛煙滅了。


閱讀全文 »

測試一下我的生活如何

這是我做 Take the Rate My Life Quiz 的結果。

Life:
8.1

Mind:
7

Body:
7.6

Spirit:
8

Friends/Family:
5.9

Love:
6.9

Finance:
7.1

有興趣的也可以去做做。

情繫母校活動打醬油的演講幻燈片

由於同學組織了情繫母校的活動,讓各個高校的學生介紹自己的學校,我就做了一個幻燈片介紹了一下。爲了兼容性,沒有採用傳統的PPT(我也買不起Office,其他軟件又有兼容性問題),採用了 PDF 格式,全屏播放,和 PPT 效果一樣。

也順便放到這裡,供大家使用。

鏈接在這裡。

組織學生迎賓是亟待革除的惡俗(轉載)

組織學生迎賓是亟待革除的惡俗

肖雪慧

1月2日,湖南省常德市桃源縣第五中組織學生列隊站在雪地里迎賓。那天是氣溫僅-3℃-1℃的冰雪天。學生雪地站立等候一個多小時,官員才姍姍駕臨,再作半個多小時報告,足足讓學生在雪地呆了兩小時之久。


圖:-3℃-1℃的冰雪天,學生雪地站立等候姍姍來遲的官員,然後坐在滿是冰渣的凳子上聽官員作報告

如此場景的圖片傳到網上,引起軒然大波。零下幾度的冰凍天氣,即使穿得足夠厚、即使身體強健的成年人,以靜止狀態在戶外也受不住幾分鐘。而這些中學生在雪地長時間站立,活動結束,就有學生凍病了。


閱讀全文 »

第 7 頁,共 66 頁12345678910111213...203040...最舊 »