Day1 T1铺地毯https://www.luogu.org/problem/show?pid=1003

【题目分析】

全部读入以后从最后一个往前找,找到一个矩形的范围覆盖了这个点,那这个矩形就是最上面的地毯,输出即可

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=;
int a[maxn],b[maxn],g[maxn],k[maxn];
int n,ans=-;
int x,y;
int main()
{
freopen("carpet.in","r",stdin);
freopen("carpet.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]);
scanf("%d%d",&x,&y);
int xx=n;
while(xx--)
{
if((a[xx+]<=x)&&(a[xx+]+g[xx+]>=x)&&(b[xx+]<=y)&&(b[xx+]+k[xx+]>=y))
{
ans=xx+;
break;
}
}
printf("%d",ans);
}

Day1 T2选择客栈https://www.luogu.org/problem/show?pid=1311

【题目分析】

首先说一下O(nk)的做法。zzl[i]表示第i种颜色的数量,bfh[i]表示不符合条件的酒店的数量,sum表示不符合条件的方案数,ans表示相同色调的酒店组合的所有情况

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,k,p;
const int maxn=;
int a[maxn],b[maxn],zzl[],bfh[];
int ans=,sum=;
int main()
{
freopen("hotel.in","r",stdin);
freopen("hotel.out","w",stdout);
scanf("%d%d%d",&n,&k,&p);
for(int i=;i<=n;i++)
{
scanf("%d%d",&a[i],&b[i]);
if(b[i]<=p)
{
for(int j=;j<k;j++)
{
sum+=bfh[j]*(bfh[j]-)/;
bfh[j]=;
}
zzl[a[i]]++;
}
else
bfh[a[i]]++,
zzl[a[i]]++;
}
for(int i=;i<k;i++)
ans+=zzl[i]*(zzl[i]-)/,
sum+=bfh[i]*(bfh[i]-)/;
printf("%d",ans-sum);
return ; }
//当复杂度变为O(n)...我也不太会,codevs上的题解不错
#include<iostream>
using namespace std;
int n,k,p,m,x,y,sum;
int a[],b[],c[];
int main()
{
cin>>n>>k>>p;
for(int i=;i<=n;i++)
{
cin>>x>>y;
if(y<=p) m=i;//如果咖啡店的最低消费地于标准,那么记录其位置
if(m>=a[x]) c[x]=b[x];//如果在当前颜色的酒店之前有出现过同样颜色的酒店那么记录当前同种颜色的酒店的出现次数
/*特注:当到COODVS上第四组数据时也许会因为“y<=p”不会记录当前的位置,
但是会记录之前有满足“y<=p”条件的位置,
也就是说两个人住的客栈之间有满足条件的咖啡馆,
那么也就可以让c数组的对应颜色加上1了,即“c[x]=b[x]”
从而使后面的总数加上1*/
a[x]=i;//记录同样颜色的酒店最后一次的出现位置
sum+=c[x];
/*每一个酒店都可以作为对应点,所以不需要再去加上任何的判断,记录住宿的方法,
c数组可以理解为当前色调位置,到之前满足“y<=p”色调位置的方案 */
b[x]++;//记录出现次数的总数
}
cout<<sum;
return ;
}

noip2011提高组day1+day2解题报告的更多相关文章

  1. Noip2011 提高组 Day1 T1 铺地毯 + Day2 T1 计算系数

    Day1 T1 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小 ...

  2. luogu1003铺地毯[noip2011 提高组 Day1 T1]

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  3. Noip2011 提高组 Day1 T3 Mayan游戏

    题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...

  4. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  5. NOIP2011 提高组 Day1

    自测:8:27——11:51 实际得分:100+60+20=180 期望得分:100+60+40=200 T3读错题,失20 http://cogs.pro/cogs/page/page.php?ai ...

  6. 2018.10.05 TOPOI提高组模拟赛 解题报告

    得分: \(100+5+100=205\)(真的是出乎意料) \(T1\):抵制克苏恩(点此看题面) 原题: [BZOJ4832][Lydsy1704月赛] 抵制克苏恩 应该还是一个比较简单的\(DP ...

  7. [NOIP2011提高组day1]-3-mayan游戏

    3.Mayan 游戏 (mayan.cpp/c/pas) [问题描述] Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个 7行 5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即 ...

  8. NOIP2011提高组 Day1 T3 Mayan游戏

    题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个7行×5列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定的步 ...

  9. NOIP2009 提高组T3 机器翻译 解题报告-S.B.S

    题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...

随机推荐

  1. 使用UIL(Universal-Image-Loader)异步加载图片

    概要: Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是实现可重复使用的异步图像加载.缓存和显示.所以,如果你的程序里需要这个功能的话,使用它,因为 ...

  2. RMAN命令

    一.启动.关闭数据库 在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样.当然,在执行之前,你需要先连接到目标数据库,如例: C:\Documents and Settings\Admini ...

  3. 验证(Javascript和正则表达式)

    昨天写了验证(C#和正则表达式),今天又写了个js版的验证.现在贴出来,为了方便自己查阅,同时也希望能给需要的人帮助和一些启发.由于今天才开始接触js,所以可能会有一些错漏,希望大家能批评指正. va ...

  4. Objective-C语言控制语句

    • 分支语句• 循环语句• 跳转语句 Objective-C中的控制语句有以下几类:• 分支语句:if-else, switch• 循环语句:while, do-while, for• 与程序转移有关 ...

  5. sql数据库(资料库)的基本操作

    1 Character Set与Collation 任何资讯技术在处理资料的时候,如果只是单纯的数值和运算,那就不会有太复杂的问题:如果处理的资料是文字的话,就会面临世界上各种不同语言的问题.以资料库 ...

  6. 在CentOS 6 32/64 上安装 PPTP 方式 VPN 服务

    网上有很多步骤, 讲了很多步骤,废话, 其实不如直接看代码, 而且也能直接运行,快速安装: rm -f /etc/pptpd.conf rm -f /etc/ppp arch=`uname -m` # ...

  7. 【python cookbook】【字符串与文本】16.以固定的列数重新格式化文本

    问题:重新格式化一些很长的字符串,以指定的列数来显示 解决方案:textwrap模块的fill()方法来实现 # A long string s = "Look into my eyes, ...

  8. struts2-json-plugin插件实现异步通信

    用例需要依赖的jar: struts2-core.jar struts2-convention-plugin.jar,非必须, struts2-json-plugin.jar org.codehaus ...

  9. web.xml中 error-page的正确用法

    <error-page> <error-code>404</error-code> <location>/mvc/hello1?i=1</loca ...

  10. PHP删除MySQL数据库下的所有数据表

    <?php //[数据无价,请谨慎操作!] $hostname ='localhost';  $userid = 'username';  $password = 'password';  $d ...