上兩道省選的高精吧!

2022-05-10 04:06:07 字數 2968 閱讀 3071

t1haoi2016 放棋子

給你乙個n*n的矩陣,每行有乙個障礙,資料保證任意兩個障礙不在同一行,任意兩個障礙不在同一列,要求你在這個矩陣上放n枚棋子(障礙的位置不能放棋子),要求你放n個棋子也滿足每行只有一枚棋子,每列只有一枚棋子的限制,求有多少種方案。

輸入格式:

第一行乙個n,接下來乙個n*n的矩陣。n<=200,0表示沒有障礙,1表示有障礙,輸入格式參考樣例

輸出格式:

乙個整數,即合法的方案數。

輸入樣例#1:

2

0 11 0

輸出樣例#1:

1

額,就是遞推的錯排,證明網上一大坨。。。難打的是高精。。。

#include#include

#include

#define maxn 5050

#define mod 10000000000

#define _ 10

#define ll long long

using

namespace

std;

struct

bignums[

3100

];typedef bignum bg;

intn;

inline bg

operator +(bg a , bg b)

while

(jin)

returna;}

inline bg

operator *(bg a , ll b)

while

(jin)

returna;}

inline ostream& operator

<< (ostream &os,bg x)

intmain()

t2hnoi2004 高精度開根

曉華所在的工作組正在編寫一套高精度科學計算的軟體,一些簡單的部分如高精度加減法、乘除法早已寫完了,現在就剩下曉華所負責的部分:實數的高精度開m次根。

因為乙個有理數開根之後可能得到乙個無理數,所以這項工作是有較大難度的。現在要做的只是這項工作的第一步:只對自然數進行開整數次根,求出它的乙個非負根,並且不考慮結果的小數部分,只要求把結果截斷取整即可。

程式需要根據給定的輸入,包括需要開根的次數,以及被開根的整數;計算出它的非負根取整後的結果。

輸入格式:

輸入檔案共有兩行,每行都有乙個整數,並且輸入中沒有多餘的空格:

第一行有乙個正整數m (1 <= m <= 50),表示要開的根次;

第二行有乙個整數n (0<=n <= 10^10000),表示被開根的數。

輸出格式:

輸出檔案只有一行,包括乙個數,即為開根取整後的結果。

輸入樣例#1:

3

1000000000

輸出樣例#1:

1000

靠,這個題目網上的奆佬們都用py,,,,qaq,,,,不會py的小蒟蒻難受啊。只有打一波高精了...tat...

#pragma gcc optimize(2)#include

#include

#include

#include

#include

#define maxn 10050

#define mod 100000000

#define _ 8

#define ll long long

using

namespace

std;

struct

bg};

bg ans;

intn;

char shu[100100

];inline ostream& operator

<< (ostream &os,bg x)

inline

bool

operator

<(bg a , bg b)

return

false;}

inline bg

operator +(bg a , bg b)

while

(jin)

returna;}

inline bg

operator -(bg a , int

b) a.v[

1]--;

ll jin = 0

;

for(int i=1;i<=a.sz;++i)

returna;}

inline bg

operator *(bg a , bg b)

while

(jin)

c.sz =ce;

returnc;}

inline bg

operator /(bg a , int

b) a.v[

0] = 0

;

if(!a.v[a.sz]) --a.sz;

returna;}

inline bg read()

for(int j=0;j<_;++j)}}

return

ans;

}inline bg find(bg a)

returnk;}

intmain()

while(l bg k =l;

for(int i=1;ii)

k = k *l;

if(ans l = l - 1

; cout

<}

在bzoj上是可以輕鬆跑過的,,,但是洛谷裡面被卡了(洛谷裡面時限是1.5s,bzoj5s,程式2.7s)...無語了。。。

兩道簡單的題目

第一次發表文章,就發表兩到簡單點的題目好了 第一道題目是這樣的 現在有乙個整數的陣列,然後給定乙個目標數,我們要做的是找出陣列中唯一存在的兩個不同的數,其相加能夠得到這個目標數,然後返回這兩個數的下標比如 given nums 2,7,11,15 target 9,because nums 0 nu...

今晚的兩道 bc

第一道題 beautiful palindrome number 簡單組合計數問題,手算打表就好 大概十五分鐘左右搞定 第一次 提交竟然 wa了一次 有乙個小小的坑在那。author jusonalien email jusonalien qq.com school south china norm...

兩道筆試題的感觸

今天做了兩道筆試題,收益良多。有些題,你會發現,雖然並不難,但是卻很容易沒有思路或者出錯,這都是源自平時的不求甚解。很多知識點,自以為已經掌握,其實只是管中窺豹,可見一斑。不要一味墨守成規,也要用於思考,很多東西既要知其然,也要知其所以然。我一直覺得了解和精通中間差著十萬八千里,看來還有很長一段路要...