有一個人被綁住在輸送帶上面,輸送帶以固定速度s移動
在某位置,輸送帶上有把刀,每當輸送帶移動s * N秒就會砍下去
那個人頭部刀的位置距離A,身高是B,N最少要多少才不會砍到他?
ol = lambda offset, limit: '0' * offset + '1' * limit + '0' * 10
sp = lambda line, ps: [line[i:i+ps] for i in range(0, len(line), ps)]
>>> sp(ol(5, 7), 7)
['0000011', '1111100', '0000000', '0000000', '0000']
>>> sp(ol(5, 7), 8)
['00000111', '11110000', '00000000', '00000000']
>>> sp(ol(5, 7), 9)
['000001111', '111000000', '000000000', '00000']
>>> sp(ol(5, 7), 10)
['0000011111', '1100000000', '0000000000', '00']
>>> sp(ol(5, 7), 11)
['00000111111', '10000000000', '0000000000']
>>> sp(ol(5, 7), 12)
['000001111111', '000000000000', '00000000']
輸送帶以v m/s 前進
頭位置在距離 va m的位置
身長為 vb m
刀子每N秒砍下
(a + b) / Math.floor(1 /(b / a + b)) 這樣
假設腳過的時候有一刀剛好砍下去,然後只要知道中間可以多補幾刀不砍到人,就可以知道每一刀隔多久了
不過要求整數的情況下會出現間隔多一砍到腳,少一砍到頭的慘案,還是只能直接判斷看要不要跳過找下一種條件
前排寫曲遇到個問題。given (offset, limit) , 要 convert 做 (page size, page number), 想要用最少的 page size, 有冇O(1) 的方法計到?
Formally
let a = offset
let b = offset + limit
find minimium s such that for some integer n, we have
n*s <= a < b <= (n+1)*s
Total = 79 + 13 =92
Total / K > 13
如果不限整數的話,N >= B,並且A % N = 0就是了
那還是有快速逼近的方式啊
a = 79,b = 13
Total = 92
K = 7, N = 14 (失敗
K = 6, N = 16(失敗
K= 5, N = 19( pass
如果出一題請教這個問題的時間複雜度的,應該會瞬間死一整排人(?
先prove個lower bound是不是O(1)😂😂
試試看用暴力求值看 a < 1000, b < 1000 範圍內的趨勢看看(?
@licson 有沒有辦法bridge設一個IP 然後本來interface設成dhcp啊
我剛剛這樣弄 然後networking restart
然後我要開iLO Remote Console的時候遇到了
bridge 的話本來的 interface 不能有 IP 喔
我剛剛到底為什麼要跑去找主機 我iPad明明有Console
要寫設定 又要IP不會被DHCP影響的話 大概用alias比較好🤔
這是什麼東西 為什麼手機的畫面在電腦上 可以操作嗎
喔 我看懂了 所以iPad可以直接打開小的Telegram 在畫面上喔
只是開個 consol , ssh 之類的吧 owo
但是要對哪個interface做 vmbr0還是enp4s0f0
const fab = (i = 0, a = 1, b = 1)=> i < 10? fab(i - 1, b, a+b): [a, b]
int power(int x, unsigned int y, int p) {
int res = 1;
x %= p;
while (y > 0) {
if (y % 2) res = (res * x) % p;
y /= 2;
x = (x * x) % p;
}
return res;
}
bool miillerTest(int d, int n) {
int a = 2 + rand() % (n - 4); // Pick a random number in [2..n-2], n > 4
int x = power(a, d, n);
if (x == 1 || x == n - 1) return true;
while (d != n - 1) {
x = (x * x) % n;
d *= 2;
if (x == 1) return false;
if (x == n - 1) return true;
}
return false; // composite
}
bool isPrime(int n, int k) {
if (n <= 1 || n == 4) return false;
if (n <= 3) return true;
int d = n - 1;
while (d % 2 == 0) d /= 2;
for (int i = 0; i < k; i++)
if (!miillerTest(d, n)) return false;
return true;
}
C++ 的 function 算是 First Class 嗎
define 1 以下的質數 []
define n 以下的質數 n 為質數 則為 [n].concat(n - 1 以下的質數) 否則為 n - 1 以下的質數
for (let i = 0; i < x; i++) {
doWith(i)
}
等同
const curr(i = 0, x)=>
i < x?
(doWith(i), curr(i + i, x):
null
函數可以把一個 狀態 轉變為下一個 狀態`,然後拿這個 `狀態 做事
就像如果你把整個世界都複製一份然後只改掉你要更改的部分,那你可以用他可以做到任何事情
而且你要怎麼知道其實我們在的這個世界不是唯獨副本,其實我們都是拿上一秒的世界複製出來的副本那樣?
const addIfMatch = (list, num)=>
list.every(p=> num % p !== 0)?
[...list, num]:
list
const primes= (i)=>
i === 1 ?
[]:
addIfMatch(primes(i - 1), i)
然後剛剛說的質數
他大概讓我思考了10秒鐘,然後我就覺得這問題不重要,不管了(
// Pick a random number in [2..n-2], n > 4
var x = 1, y = 2
x = y
最開始時 {x: 1, y: 2}
x = y 後
{x: 2, y: 2}
其實這個操作是把上面的狀態轉變為下面的狀態
照這個想法
所有的編輯操作其實都能視為狀態之間的 transfomer
判斷條件則是依照某個判斷式決定下一個狀態要經過哪一個 transformer 產生
所以沒有不能轉變為fp的程式,只是你的記憶體會受難
然後所有的程式邏輯都能靠while跟switch完成
把這兩個帶在一起..就能把所有程式都變他媽的遞迴了
for (int i = 0; i < k; i++)
if (!miillerTest(d, n)) return false;
return true;
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
分享給人用的密碼不用明碼你是要給hash過的叫人用彩虹表自己查嗎…
LineageOS 裝Magisk 可以 pass saftynet嗎
但換句話說 這樣好像就很容易取得手機 Wi-Fi 密碼的說
我在想用 MagiskHide Props Config 有沒有辦法處理
hmm 所以 Android 存 Wi-Fi 密碼也是明碼存嗎
A+ A B+ B C+ C D+ D F
我D掉了
@nekomata_saren IOMMU Group 沒辦法讓每個 Device 都 Isolated ( 就是一個裝置一個 Group ) 的話有什麼方法可以解決這個問題嗎?
查了一下好像跟 ACS 什麼的有關聯,可是不是看的很明白
看起來好像成功了...等等我試看看再加張 GPU 進去
Asus 好像常常搞這些事對吧
上次是觸控板螢幕筆電
奇怪,是變成獨立群組了,可是一開 VM,Host 就死當自動重啟了...