今天的考試針不戳,我居然超過了劉奆!(劉奆:明明是你那題的資料點少好嗎)不過,沒有乙個人超了200分,有那麼一 丶丶慘,不過木有關係,讓我們開始今天的總結吧!
環數是那些不包括0這個數字的沒有重複數字的整數 (比如說, 81362) 並且同時具有乙個有趣的性質, 就像這個例子:
給你乙個數字 m (在1到9位之間), 找出第乙個比 m大的迴圈數, 並且一定能用乙個無符號長整形數裝下。
input format
僅僅一行, 包括m
sample input (file runround.in)
output format
僅僅一行,包括第乙個比m大的迴圈數。
sample output (file runround.out)
那麼這道題,其實直接高精度加暴力就能過,為什麼要那麼麻煩呢?
直接上**!
#include
using
namespace std;
int n;
int a[11]
,b[11
],v[11]
;int
zhuanhuan
(int x)
for(
int i=
1; i<=sum;
++i)
a[i]
=b[sum-i+1]
;return sum;
}bool
flag
(int x)
if(s!=1)
return
false
;else
return
true;}
intmain()
}}
就這樣,不簡簡單單就過了嗎?
對於從1到n的連續整集合合,能劃分成兩個子集合,且保證每個集合的數字和是相等的。
舉個例子,如果n=3,對於能劃分成兩個子集合,他們每個的所有數字和是相等的:
這是唯一一種分發(交換集合位置被認為是同一種劃分方案,因此不會增加劃分方案總數)
如果n=7,有四種方法能劃分集合,每一種分發的子集合各數字和是相等的:
給出n,你的程式應該輸出劃分方案總數,如果不存在這樣的劃分方案,則輸出0。程式不能預存結果直接輸出。
program name: subset
input format
輸入檔案只有一行,且只有乙個整數n
sample input (file subset.in)
7
output format
輸出劃分方案總數,如果不存在則輸出0。
sample output (file subset.out)
這道題,怎麼說呢。。。
就是兩個dp的事情。。。
揹包,揹包大家都會吧。。。。
#include
using
namespace std;
long
long b[61]
[6001
],a[
101]
;int
main()
if(maxx%2!=
0)b[1][
1]=1
;b[0][
0]=1
;for
(long
long i=
1; i<=n; i++)}
cout<[maxx/2]
/2;return0;
}
簡單,過!
在ioi98的節日宴會上,我們有n(10<=n<=100)盞彩色燈,他們分別從1到n被標上號碼。
這些燈都連線到四個按鈕:
乙個計數器c記錄按鈕被按下的次數。
當宴會開始,所有的燈都亮著,此時計數器c為0。
你將得到計數器c(0<=c<=10000)上的數值和經過若干操作後所有燈的狀態。寫乙個程式去找出所有燈最後可能的與所給出資訊相符的狀態,並且沒有重複。
program name: lamps
input format
不會有燈會在輸入**現兩次。
第一行:
n。第二行:
c最後顯示的數值。
第三行:
最後亮著的燈,用乙個空格分開,以-1為結束。
第四行:
最後關著的燈,用乙個空格分開,以-1為結束。
sample input (file lamps.in)
-17 -1
在這個樣例中,有10盞燈,只有1個按鈕被按下。最後7號燈是關著的。
output format
每一行是所有燈可能的最後狀態(沒有重複)。每一行有n個字元,第1個字元表示1號燈,最後乙個字元表示n號燈。0表示關閉,1表示亮著。這些行必須從小到大排列(看作是二進位制數)。
如果沒有可能的狀態,則輸出一行』impossible』。
sample output (file lamps.out)
在這個樣例中,有三種可能的狀態:
這道題,偶不會。。。
各位大大教一下唄!
難。。。過!!!
在生物學中,一些生物的結構是用包含其要素的大寫字母序列來表示的。生物學家對於把長的序列分解成較短的(稱之為元素的)序列很感興趣。
如果乙個集合 p 中的元素可以通過串聯(允許重複;串聯,相當於 pascal 中的 「+」 運算子)組成乙個序列 s ,那麼我們認為序列 s 可以分解為 p 中的元素。並不是所有的元素都必須出現。舉個例子,序列ababacabaab
可以分解為下面集合中的元素:
序列 s 的前面 k 個字元稱作 s 中長度為 k 的字首。設計乙個程式,輸入乙個元素集合以及乙個大寫字母序列,計算這個序列最長的字首的長度。
program name: prefix
input format
輸入資料的開頭包括 1…200 個元素(長度為 1…10 )組成的集合,用連續的以空格分開的字串表示。字母全部是大寫,資料可能不止一行。元素集合結束的標誌是乙個只包含乙個 「.」 的行。集合中的元素沒有重複。接著是大寫字母序列 s ,長度為 1…200,000 ,用一行或者多行的字串來表示,每行不超過 76 個字元。換行符並不是序列 s 的一部分。
sample input (file prefix.in)
a ab ba ca bbc
ababacabaabc
output format
只有一行,輸出乙個整數,表示 s 能夠分解成 p 中元素的最長字首的長度。
sample output (file prefix.out)
11
這道題,是乙個較為暴力的dp,直接最長不下降子串行反過來加揹包就行了!!
#include
using
namespace std;
int len[
201]
;char h[
201][11
];int sum=0;
int f[
200001];
char y[
110]
;char s[
200001];
intmain()
}while
(scanf
("%s"
,y)==1)
int lens=
strlen
(s);
for(
int i=lens-
1; i>=
0; i--)}
if(k>=i+len[j])}
} cout<<}}
今天的考試挺不錯,下次加油!!!! 2023年3月5日開學有感
今日是回到學校第一天,獨自坐在些許涼氣的實驗室裡,不禁思緒萬千.小時候真傻,居然盼望著長大!我們在漸漸長大,父母在慢慢變老,對於我而言,社會無論多難 多複雜我並不十分在意,我可以接受自己苦一些,但是,我一想到父母臉上的皺紋 白頭髮變得越來越多起來,那種複雜的感受邊湧上心頭。如果早點工作賺錢 早點給父...
2023年3月8日模板等
模板相當於把函式的變數型別在編譯期間引數化,在編譯階段就已經決定mytype是什麼型別了 template class mytype mytype可以自己命名,經常命名為t mytype myabs mytype x else 例子 include using namespace std templ...
2023年3月20日學習總結
本週講解內容 本週老師還是繼續上一周的話題接著講貪心演算法,主要內容也沒什麼要闡述的,無非就是將乙個問題精簡為乙個最小問題,再找到這個最小問題的最優解,然後以此來找到整個問題的最優解。講了幾個常見情況,例如區間排程 活動安排 重疊區間 工廠利潤 質量合併 取規則下的最小數字等。我學到的 1 如果在排...