whyisyoung's Blog

If you can not persist, you will never succeed :)

Unlock BaiduYun Speed Limit With Aria2

| Comments

Test Environment: Mac OS X Yosemite 10.10.5, Aria2 version 1.30

Enjoy Aria2 on Mac or Linux just as you enjoy Internet Download Manager on Windows.

Follow these steps:

  1. Install Homebrew ( follow the instructions at Homebrew )
  2. brew install aria2
  3. Download Aria2GUI v1.3.1 release, or find newer release at Aria2GUI github page
  4. Drag the app aria2GUI to the /Applications folder
  5. git clone https://github.com/acgotaku/BaiduExporter.git
  6. Drag BaiduExporter/chrome.crx to the Chrome web page chrome://extensions
  7. Open the aria2GUI app
  8. Open BaiduYun
  9. Select one item you wanna download, in the navigation bar, near 新建文件夹, there is a new menu 导出下载, click 设置, and set your 下载路径 ( note: it needs to be an absolute path like /Users/alice/Downloads ), then apply. Click ARIA2 RPC item
  10. Bravo! You have unlocked the speed limit of BaiduYun.

SSH Login Without Password

| Comments

Test environment: Ubuntu 12.04 LTS

使用 SSH 时绝大多数的登录场景如下:

1
2
ssh -p 5555  user@199.45.00.75
此处输入密码

然后顺利登陆到主机 199.45.00.75

每次输入密码是一件非常繁琐的事情,那么能不能省去这一步呢?答案是肯定的。

Recursive Resolution of Parentheses Balancing

| Comments

好久没更,内疚感爆棚…

1. Problem

Source: Coursera Functional Programming Principles in Scala Week1 Exercise2

输入:以 List[Char] 形式给出的一个字符串,判断其左右括号是否匹配。

输出:true or false

要求:必须使用递归算法

函数原型:def balance(chars: List[Char]): Boolean

示例:

(if (zero? x) max (/ 1 x)) => true

I told him (that it’s not (yet) done). (But he wasn’t listening) => true

:-) => false

())( => false

EOJ 1824 Solution Report - 数塔III

| Comments

原题:EOJ 1824

1. 题目描述:

一个正整数组成的三角形,第一行只有一个数,除了最底行之外每个数的左下方和右下方各有一个数。如下图

    1

  3   2

 4  10  1

4  3   2  20

从第一行的数开始,每次都只能左下或右下走一格,直到走到最下行, 将沿途经过的数加起来,求和的个位数最大是多少。

Note:

$1 ≤ N ≤ 500, N 表示数塔高度 $

每行的数范围是 $[0, 99]$

EOJ 1488 Solution Report - Coin Collector

| Comments

原题:EOJ 1488

keyword: 贪心

1. 题目描述

某人有一个价值 K cents 的硬币去商店买东西,商店里有价值 1, 2, 3, … , K-1 cents 的货物。他买了其中一个货物,

该店的找零规则如下:

  1. 找回顾客 A cents

  2. 找回最大的面值不超过 A 的(设为 B cents),记还需找回顾客的钱为 A-B

  3. 如果 A - B = 0, 结束,否则返回第 2 步

求: 他可以收集多少种他还没有的硬币,以及在该情况下商店可以卖给他的最贵的货物是多少 cents?

EOJ 2067 Solution Report - Building Roads

| Comments

原题地址:EOJ 2067

keyword: 最小生成树(Minimum Spanning Tree), Prim Algorithm

1. 题目描述

标记为 1-N 的 N 个农场,它们分布在平面直角坐标系的第一象限,位置用 ($X_i$, $Y_i$ ) 标记。现已修好了 M 条路(每条路连接两个农场),请求出为了将所有的农场连接起来最少还需要修多长的路。

Note:

$ 1 \leqslant N \leqslant 1000$

$ 1 \leqslant M \leqslant 1000$

$ 1 \leqslant X_i \leqslant 1,000,000$

$ 1 \leqslant Y_i \leqslant 1,000,000$

EOJ 1855 Solution Report - Expedition

| Comments

keywords: 贪心 (优先队列)

1. 题目描述

原题地址: EOJ 1855

又是奶牛……

一群奶牛开了一辆漏油车想去一个最近的 town (每行驶一公里漏一升油),离最近 town 的距离为 L 公里, 最初的油量为 P, 在开往 town 的途中有 N 个加油站(每个加油站的油量是 1~100 L)。

求奶牛们为了开到 town, 最少需要在几个加油站停下来加油。 如果不可能到达 town,则输出 -1。 但比较神奇的是:这辆卡车可装的油量没有上限。。。

Note:
$1 \leqslant L \leqslant 1, 000, 000 $

$1 \leqslant P \leqslant 1,000,000$

$1 \leqslant N \leqslant 10,000 $

EOJ 1851 Solution Report – Summing Sums

| Comments

本题也可在SPOJ上找到:http://spoj.com/problems/SUMSUMS/

话说SPOJ注册真是…,不知道是不是被墙的原因?

keywords:

快速幂取模费马小定理

记 $sum = \sum\limits_{i = 1}^{n} C_i$ 为执行算法前所有牛的总和,

$a[t][i]$ 为处理 $t$ 次后的 $C_i$

$S[t] = \sum\limits_{i=1}^{n}a[t][i]$ 为处理t次后所有牛的总和。

2013 New MacbookPro With Retina 睡眠耗电严重–解决办法

| Comments

机型: 2013.11月产 RMBP, ME865, OS X 10.9.2

问题:

晚上充满电后放进包里,第二天下午左右才拿出来,电量跌至惊人的46%。。。

后来又有一次第二天早上打开,也只剩72%。

google了一番终于找到了不错的答案。与墙内民众共享。

Solution:

Step 1:

  1. 关闭(Shutdown)Mac 并连接电源。
  2. 将所有外接设备断开连接(移动硬盘,外接显示器等等)
  3. 按住键盘左下角的 Shift + Control + Option + Power 30 秒不放。

    (其实我按了之后好像没啥反应==)

EOJ 1852 Solution Report –Ordered Fractions

| Comments

1. 问题描述

给定一个数 N , 从小到大列出 0 到 1 之间 分母不超过 N 的最简真分数,包括 0/1, 1/1

2. 解题思路

### 解法1 最简单的想法,生成所有有效分数,然后对其排序,输出。(0/1 和 1/1 可单独输出) 那么什么是有效分数呢,需要满足以下条件:

  • 分母不超过 N
  • 分子与分母互质
  • 分子小于分母

所以我们用如下循环即可得到有效分数:

1
2
3
4
for(int i = 1; i <= n-1; i++)
	for(int j = i+1; j <= n; j++)
		if(gcd(i, j) == 1) // gcd denotes 最大公约数
            /* store valid fractions here*/