简单个人网站制作,佛山网站运营十年乐云seo,万网的怎么做网站地图,电商类网站咋做描述 丽江河边有n家很有特色的客栈#xff0c;客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰#xff08;总共k种#xff0c;用整数0~ k-1表示#xff09;#xff0c;且每家客栈都设有一家咖啡店#xff0c;每家咖啡店均有各自的最低消费。 两位游客一… 描述 丽江河边有n家很有特色的客栈客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰总共k种用整数0~ k-1表示且每家客栈都设有一家咖啡店每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游他们喜欢相同的色调又想尝试两个不同的客栈因此决定分别住在色调相同的两家客栈中。晚上他们打算选择一家咖啡店喝咖啡要求咖啡店位于两人住的两家客栈之间包括他们住的客栈且咖啡店的最低消费不超过p。 他们想知道总共有多少种选择住宿的方案保证晚上可以找到一家最低消费不超过p元的咖啡店小聚。 格式 输入格式 第一行三个整数nkp每两个整数之间用一个空格隔开分别表示客栈的个数色调的数目和能接受的最低消费的最高值接下来的n行第i1行两个整数之间用一个空格隔开分别表示i号客栈的装饰色调和i号客栈的咖啡店的最低消费。 输出格式 输出只有一行一个整数表示可选的住宿方案的总数。 样例1 样例输入1[复制] 5 2 3
0 5
1 3
0 2
1 4
1 5 样例输出1[复制] 3 限制 1s 提示 对于30%的数据有n≤100对于50%的数据有n≤1,000对于100%的数据有2≤n≤200,0000k≤500≤p≤1000≤最低消费≤100。 来源 NOIp2011提高组Day1第二题 1 #includeiostream2 #includecstdio3 #includecstdlib4 #includecmath5 #includealgorithm6 #includecstring7 using namespace std;8 struct node{9 int col,minco;
10 }a[200003];
11 int sum[200003][53];//f[i][j]表示在前 i个客栈中色调为 j的客栈的数目
12 int last[200003];//last[i]表示与 i相连最近的可以用的咖啡店
13 int N,K,P;
14 void calc(int);
15 int ANS;
16 int main(){
17 // freopen(hotel.in,r,stdin);
18 // freopen(hotel.out,w,stdout);
19 scanf(%d%d%d,N,K,P);
20 for(int i1;iN;i){
21 scanf(%d%d,a[i].col,a[i].minco);
22 a[i].col;//把色调变成 1 ~ K
23 sum[i][a[i].col]sum[i-1][a[i].col]1;//比上个色调加一
24 for(int j1;jK;j){
25 if(j!a[i].col){
26 sum[i][j]sum[i-1][j];//和上个色调一样
27 }
28 }
29 }
30 for(int i1;iN;i){
31 if(a[i].mincoP){
32 last[i]i;
33 if(i!1) ANS--;//重点
34 }
35 else{
36 last[i]last[i-1];
37 }
38 }
39
40 for(int i2;iN;i){
41 calc(i);
42 }
43 coutANS;
44 return 0;
45 }
46 void calc(int x){
47 int drinlast[x];
48 if(drin0) return ;
49 int colora[x].col;
50 ANSsum[drin][color];
51 } 转载于:https://www.cnblogs.com/CXCXCXC/p/4783176.html