1. 程式人生 > >ssl提高組週六備考賽【2018.10.27】

ssl提高組週六備考賽【2018.10.27】

前言

高三dalao試圖混入其中

成績

RankRank PersonPerson ScoreScore AA BB CC
11 2017myself2017myself 205205 2525 8080 100100
22 2013lyy2013lyy 200200 100100 7070 3030
33 2015hjw2015hjw 120120 3030 9090 00
44 2017zyc2017zyc 110110 3030 3030 5050
44 2013lyk2013lyk 110110 100100 1010 00
66 2015trx2015trx 105105 55 100100 00
77 2017xxy2017xxy 100100 100100 00 00
77 2017xjq2017xjq 100100 00 100100 00
99 2015gjh2015gjh 7070 00 7070 00
1010 2013yhl2013yhl 5050 00 00 5050

正題

T1:nssl1231GiftT1:nssl1231-Gift0101揹包,dp,dp

T2:nssl1232T2:nssl1232-函式【數論,尤拉函式,,莫比烏斯反演】

T3:nssl1230T3:nssl1230-序列【位運算】

someofcodesome\ of\ code

T1 25分code

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,c[100],s;
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		scanf("%d",&c[i]);
	for(int
i=0;i<(1<<n);i++) { int mo=0,mins=2147483647; for(int j=0;j<n;j++) { mo+=(i>>j)%2*c[j+1]; if(!((i>>j)%2)) mins=min(mins,c[j+1]); } if(mo<=m&&mo+mins>m) s++; } printf("%d",s); }

尾聲

用更高深的演算法水了個80分?