1718 cos的多項式
基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
小明對三角函式充滿了興趣,有一天他突然發現乙個神奇的性質。
2cos(nx)似乎可以表示成2cos(x)的乙個多項式。
但是小明並不能證明它的正確性。
現在給定n,問是否可以表示成這樣的多項式,如果可以,只需輸出各項係數的和。(tip:如果這個和很大,那就高精度咯:))
否則輸出no
樣例解釋:2*cos(3x)=(2*cosx)^3-3*(2*cosx),係數為1和-3,他們的和為-2。
input
乙個數表示n(n<=1e15)output
如果能表示 輸出各項係數和input示例不能 輸出no
3output示例
-2
usedtobe
(題目提供者)
visual c++的執行時限為:1000 ms ,空間限制為:131072 kb
示例及語言說明請按這裡
允許其他 ac 的使用者檢視此**,分享**才能檢視別人的**並有機會獲得勳章
令2*cos(nx)=a1*(2cos(x))^m1+a2*(2cos(x))^m2+......
一眼看過去感覺很難啊,難道求一波展開式? 仔細觀察等號右邊。為了省去繁瑣複雜的質數。我們通常怎麼做?
是不是把底數統統換成1,沒錯就是這樣。呢怎麼讓2*cos(x)=1呢。呢不就是x=π/3嘛
因此令x=π/3帶入求出所有2*cos(nx)的值,也就是係數之和的所有可能情況,因為是三角函式,所以是具有週期性的。
當然,這道題也可以打表找規律。
#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
#define ll long long
#define inf 1000000000
#define mod 1000000007
#define maxn 1008050
#define lowbit(x) (x&-x)
#define eps 1e-9
int main(void)
多項式 DP 省選模擬51nod抽卡大賽
的dp很容易能想到 定義d p i j k dp i j k dp i j k 表示第i個人選j時,有k個人比它小的概率 然後就能直接算期望了。不過這玩意顯然要t 發現,對於乙個已經固定的i,j,那麼剩下的所有人的所有情況本質上只有2種 比ai,ja ai,j 小,比ai,ja ai,j 大。那麼可...
51 nod 最高的獎勵
有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會有衝突,這需要你來取捨。求能夠獲得的最高獎勵。input 第1行 乙個數n,表示任務的數量 2 n 500...
51Nod 1241 特殊的排序
題目傳送門 分析 之前想的是求lis,後面發現這組資料會出問題 3 1 2 4 5 6。其實這裡的lis還應當滿足前後兩個元素的值相差為1。比如上面的最長子串行為 3 4 5 6,而不是1 2 4 5 6。即只需移動1 2即可。即如果n個數最長連續上公升子串行 這裡的連續指數值上連續,即前後相差1 ...