給出n
nn,求[
1..n
][1..n]
[1..n]
中有多少個數可以被ab(
b>1)
a^b(b>1)
ab(b
>1)
表示首先如果b
bb等於2
22,那麼可以被表示的數就是n
\sqrt n
n個b
bb不是質數時,顯然所以的數都可以被乙個b
bb是質數的情況表示。
當b
bb大於等於三時,a
aa的個數級別不超過106
10^6
106,所以我們列舉後面的數。
需要考慮重複如43=
82
4^3=8^2
43=8
2,其實這個重複本質上就是(22
)3=(
23)2
(2^2)^3=(2^3)^2
(22)3=
(23)
2,也就是說如果a
aa可以表示為kq(
q
k^q(qkq
(q時,那麼a
ba^b
ab一定已經被計算過了
#include
#include
#include
#include
#include
#define ll long long
using
namespace std;
ll n,ans;
bool v[
100]
,m[1000100];
intmain()
printf
("%lld"
,ans)
;}
1458 士兵占領 BZOJ
description 有乙個m n的棋盤,有的格仔是障礙。現在你要選擇一些格仔來放置一些士兵,乙個格仔裡最多可以放置乙個士兵,障礙格里不能放置士兵。我們稱這些士兵占領了整個棋盤當滿足第i行至少放置了li個士兵,第j列至少放置了cj個士兵。現在你的任務是要求使用最少個數的士兵來占領整個棋盤。inpu...
poj1458解題報告
最長公共字串匹配 看到他們的寫的很短很精練,真心感覺自己寫不出來,我就走我的平淡路線吧!include include using namespace std int substr 201 201 記錄到當前位置的最大匹配數 string str1,str2 intmmax int a,int b ...
BZOJ 1458 士兵占領
time limit 10 sec memory limit 64 mb submit 632 solved 366 submit status discuss description 有乙個m n的棋盤,有的格仔是障礙。現在你要選擇一些格仔來放置一些士兵,乙個格仔裡最多可以放置乙個士兵,障礙格里不...