有一些題(day2下)

2021-08-10 02:12:18 字數 1364 閱讀 2975

t1

有一段括號序列,將乙個括號修改一次需要1的代價(將左括 號變成右括號或者相反),求最小代價使得括號序列合法。

簡單的模擬題。

#include

#include

char s[110000];

int ans,l;

int main()

t2

兩個質數之間如果沒有其他質數,那麼則稱為相

鄰的質數。給定n,k,詢問不超過n的數中能夠表示成連續k個質數之和的最大 的數是多少。

列舉乙個位置

求出和,看是不是小於n

但需要o(t*n)複雜度

所以想乙個問題

中間的質數一定是n/k左右的質數

所以從n/k左右的指數-k/2開始搜,很快就能找到,就不用列舉了。

其實二分一下更快,但沒有必要,最多是偏移一點

#include

#include

#include

#include

using

namespace

std;

int t,n,k,ip[1100000],pr[1000010],tot;long

long ans,sum[1000001];

int main()

for(int j=1;j<=tot&&pr[j]*i<=1000000;j++)

}for(int i=1;i<=tot;i++)

sum[i]=sum[i-1]+pr[i];

while(t--)

//printf("%lf",clock()/1000.0);

}

正解

直接二分就行了

#include

#include

#include

#include

using

namespace

std;

int t,n,k,ip[1100000],pr[1000010],tot;long

long ans,sum[1000001];

int main()

for(int j=1;j<=tot&&pr[j]*i<=1000000;j++)

}for(int i=1;i<=tot;i++)

sum[i]=sum[i-1]+pr[i];

while(t--)

if(ans)

printf("%lld\n",ans);

else

printf("-1\n");

}//printf("%lf",clock()/1000.0);

}

一些鬼題(day2上)

t1 dp從矮的跳向高的價值一定最小 然後排序,dp dp i j 跳了i個樓,前乙個樓是j 列舉前乙個樓 列舉跳到那個樓,轉移一下 找小於的t的 include include include include include include using namespace std include ...

一些變數常量的使用 day2

1.usr bin env puthon 讓python成為乙個可執行的程式 2.print hello word 輸出字串 hello word 是我接觸python後所執行的第一條 充滿了儀式感!3.python裡面的設定 檔案和 模板 python script 可以更改初始模板 4.name...

Leetcode刷題之旅(Day2)

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...