今天-_-,比賽感覺好難啊!
然後怎樣求加p後的個數呢?再加上增加的個數
對於n而言,增加的為在n後i的個數。
對於i而言,增加的為在i後n的個數。
o再來一遍列舉求=
#include
#include
using
namespace std;
unsigned
long
long ans;
int ansn,anso,ansi,sn,si;
int a[
100001
],b[
100001];
int n;
char s[
100001];
//a[i]求在1—i n的個數 b[i]求在i-n i的個數
intmain()
for(
int i=
0;i)anso=
max(anso,a[i]
*b[i]);
ans+
=max
(anso,
max(ansn,ansi));
printf
("%llu"
,ans)
;return0;
}
首先最容易想到的就是如果種類<=2就退出,否則smart先操作,sarah操作得了(liao)便操作。(50分**)
#include
#include
#include
using
namespace std;
int a[
100001
],n,sum;
map<
int,
int>uk;
intmain()
sort
(a+1
,a+1
+n);
if(sum<=2)
puts
("sarah");
while
(sum>2)
}int k=a[1]
;printf
("%d"
,a[1])
;for
(int i=
2;i<=n;i++)if
(k!=a[i]
) k=a[i]
,printf
(" %d"
,a[i]);
if(n==1)
printf
(" 1");
return0;
}
這道題我是超時了。然後改進後**如下!
就是用桶先排序,然後用個數優化。
#include
#include
using
namespace std;
struct zq[
100001];
int a[
100001];
int n,l=
1,x,r,sum;
intmain()
//個數和高度
if(r-l+
1<3)
printf
("sarah\n%d %d"
,q[l]
.num,q[r]
.num)
;//如果不能開始就不玩了。
if(r-l+
1<3)
return0;
while
(r-l+
1>=3)
if(q[l]
.cou>q[r]
.cou)
printf
("smart\n%d %d"
,q[l]
.num,q[r]
.num)
;//個數大說明他先結束
else
printf
("sarah\n%d %d"
,q[l]
.num,q[r]
.num)
;return0;
}
貪心+搜尋
#include
using
namespace std;
int n,m;
char c[
101]
[101];
intask
(int x,
int y)
bool
check
(int x,
int y,
int l,
int t)
void
fill
(int x,
int y)
intmain()
其實它就是求一種郵票面額需要多少張。
所以說就用完全揹包求出每種面額的方案數,然後再判斷它是否符合k張以內。
#include
#include
#include
using
namespace std;
int n,k,v,a[21]
,f[11001
],sum,ans;
intmain()
printf
("%d"
,ans)
;}
NOIP普及組總結
一些感想 考試,好也罷壞也罷,已經過去,只能反思,不能再來 題目 問題 a 3502 noip2017普及組 成績 題目描述 牛牛最近學習了c 入門課程,這門課程的總成績計算方法是 總成績 作業成績 20 小測成績 30 期末考試成績 50 牛牛想知道,這門課程自己最終能得到多少分。輸入只有1 行,...
NOIP普及組考試心得
考試小技巧 這有幾個關於博主本人的說明 1.c 選手 2.並不熟悉devc 3.2016普及組300分弱雞 這篇文章講述的是博主本人對於noip考試的幾個心得和技巧 目前只是初稿,一些詳細的事務會補上 1.士力架 巧克力 或曼妥思 糖果 不是開玩笑的,在考試的時候給自己隨手丟一顆有助於提神醒腦 2....
數字遊戲 NOIp普及組 2003 普及 提高
數字遊戲 題目描述 丁丁最近沉迷於乙個數字遊戲之中。這個遊戲看似簡單,但丁丁在研究了許多天之後卻發覺原來在簡單的規則下想要贏得這個遊戲並不那麼容易。遊戲是這樣的,在你面前有一圈整數 一共nn個 你要按順序將其分為mm個部分,各部分內的數字相加,相加所得的mm個結果對1010取模後再相乘,最終得到乙個...