T2】接水问题

有一些小细节,比如如果最小值存在多个,比如最后还需要一个完全结束的最大值

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<stack>
#include<cstdio>
#include<queue>
#include<map>
#include<vector>
#include<set>
using namespace std;
const int maxn=10100;
const int INF=0x3fffffff;
int n,m;
int b[110];
int a[maxn];
int main(){
cin>>n>>m;
int ans=0;
for(int i=1;i<=n;i++) cin>>a[i];
int minn=INF,minindex=-1;
for(int i=1;i<=m;i++){
b[i]=a[i];
} for(int i=m+1;i<=n;i++){
minn=b[1];
vector<int> minindex;
for(int j=1;j<=m;j++){
if(b[j]<=minn){
minn=b[j];
//minindex.push_back(j);
}
}
for(int j=1;j<=m;j++){
if(b[j]==minn) minindex.push_back(j);
b[j]-=minn;
}
ans+=minn;
for(int j=0;j<minindex.size();j++) b[minindex[j]]=0;
b[minindex[0]]=a[i];
}
int maxx=-INF;
for(int i=1;i<=m;i++){
if(b[i]>maxx) maxx=b[i];
}
ans+=maxx;
cout<<ans<<endl;
return 0;
}

  T3  导弹拦截

还是写一下,细节

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int maxn = 100002, inf = 1000000000;
int X1, Y1, X2, Y2, n;
struct data
{
int x, y;
long long t1, t2;
}; bool cmp(data a, data b)
{
return a.t1 < b.t1;
} data d[maxn]; int main()
{
scanf("%d%d%d%d", &X1, &Y1, &X2, &Y2);
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
scanf("%d%d", &d[i].x, &d[i].y);
d[i].t1 = (long long)(X1 - d[i].x)*(X1 - d[i].x) + (long long)(Y1 - d[i].y)*(Y1 - d[i].y);
d[i].t2 = (long long)(X2 - d[i].x)*(X2 - d[i].x) + (long long)(Y2 - d[i].y)*(Y2 - d[i].y);
}
sort(d + 1, d + n + 1, cmp);
long long r2 = 0,ans=inf;
for (int i = n; i >0; i--)
{
r2 = max(d[i + 1].t2, r2);
ans = min(ans, r2 + d[i].t1);
}
printf("%I64d", ans);
return 0;
}

  

T4】三国游戏

这道题不要想复杂了,其实简化了想,就是再求每一行第二大的,然后再求一个最大

就是这样,而且肯定能赢的,肯定

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<stack>
#include<cstdio>
#include<queue>
#include<map>
#include<vector>
#include<set>
using namespace std;
const int maxn=1010;
const int INF=0x3fffffff;
int n;
int a[510][510]; int main(){
scanf("%d",&n);
int maxx=-INF,mx=0,my=0;
for(int i=1;i<=n;i++){
a[i][i]=0;
for(int j=i+1;j<=n;j++){
scanf("%d",&a[i][j]);
a[j][i]=a[i][j];
}
}
//找到第二大的
int max1=0,max2=0;
int ans=-1;
for(int i=1;i<=n;i++){
max1=0,max2=0;
for(int j=1;j<=n;j++){
if(a[i][j]>max1){
max2=max1;
max1=a[i][j];
}
else if(a[i][j]>max2){
max2=a[i][j] ; //存储这一行的第二大的
}
}
if(max2>ans) ans=max2; //哪一行的第二最大,就存储哪一行的
}
cout<<"1"<<endl<<ans<<endl;
return 0;
}

  

NOIP2010普及组的更多相关文章

  1. NOIP2010普及组题解 -SilverN

    三国游戏 题目内容不放了 由于电脑总是会拆掉最大的组合,所以玩家最多只能得到数值第二大的组合 那么找出第二大的组合就行了 #include<iostream> #include<cs ...

  2. NOIP2010普及组 三国游戏 -SilverN

    #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> usin ...

  3. NOIP2010普及组T4 三国游戏——S.B.S.

    题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N 位武将(N为偶数且不小于 4),任意两个武将之 ...

  4. NOIP2010普及组T3 接水问题 ——S.B.S.

    题目描述 学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为 1. 现在有 n 名同学准备接水,他们的初始接水顺序已经确定.将这些同学按接水顺序从 1到 ...

  5. [NOIP2010] 普及组

    三国游戏 题目内容不放了 由于电脑总是会拆掉最大的组合,所以玩家最多只能得到数值第二大的组合 那么找出第二大的组合就行了 #include<iostream> #include<cs ...

  6. 接水问题【NOIP2010普及组】优先队列

    题目描述 学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1. 现在有 n 名同学准备接水,他们的初始接水顺序已经确定.将这些同学按接水顺序从 1到 n ...

  7. NOIP2010普及组 三国游戏

    题目OJ地址 http://codevs.cn/problem/1129/ https://www.luogu.org/problemnew/show/P1199 题目描述 Description 小 ...

  8. NOIP2010普及组 导弹拦截

    导弹拦截 OJ地址: https://www.luogu.org/problemnew/show/P1158 http://codevs.cn/problem/1128/   题目描述 Descrip ...

  9. NOIP2002-2017普及组题解

    虽然普及组一般都是暴力省一,但是有一些题目还是挺难的qwq个人觉得能进TG的题目会在前面打上'*' NOIP2002(clear) #include<bits/stdc++.h> usin ...

  10. NOIP2012 普及组 T3 摆花——S.B.S.

    题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

随机推荐

  1. (K8s学习笔记四)常用命令实例

    1.显示Pod的更多信息 kubectl get pod <pod-name> -o wide kubectl get pods -show-all # 查看已经停止的Pod 2.以yam ...

  2. mysql数据库连接客户端过多

    flush hosts; 清理连接 查看当前连接数 show PROCESSLIST 与 show full PROCESSLIST (查看当前数据库所有连接,包含空闲连接与活跃连接) 查看最大连接数 ...

  3. protobuf笔记

    protobuf的enum .proto的enum类型在编译后,是C++的enum

  4. js 方法记录

    1.对象浅拷贝 (array同理)(es6) var aa={}; var bb={name:"xx",info:{age:12,sex:1}} Object.assign(aa, ...

  5. 1071 - Specified key was too long; max key length is 767 bytes

    set global innodb_large_prefix=on;set global innodb_file_format=BARRACUDA; 主从都要修改以上2个参数.

  6. CH340N串口无法检测问题的解决

    问题原因: type-C有好几种类型,其中包括能传输数据的,也有不能传输数据.只能供电的.(本质差别就是引脚数目不同) 问题解决:只要将原来的type-C转USB的充电线换成数据线,电脑就能识别CH3 ...

  7. js判断数据类型 && 判断是否为标准json格式

    /** * 1. js判断对象的好方法 * 2. 判断是否为json格式化数据 * * Author: shujun * Date: 2020-8-09 */ import {print} from ...

  8. 国内 IoT 物联网平台终局的思考:未来只会有 3家

    随着物联网成为国家十四五规划的新型基础设施,许多企业纷纷投资物联网赛道,希望能提前布局物联网平台,打造一个新的生态出来. 十年后,那些投入重金的物联网平台最终能存活下来几家呢? 01. 公有云IoT平 ...

  9. JS事件中的target,currentTarget及事件委托

    1.target只存在其事件流的目标阶段,指向事件发生时的元素. 2.currentTarget:可位于捕获,目标和冒泡阶段,始终指向绑定事件的元素.如div>ul>li结构,事件委托在d ...

  10. Mardown学习

    Mardown学习 标题: 一级标题:'#'+'空格'+'标题名字'+'回车' 二级标题:'##'+'空格'+'标题名字'+'回车' 三级标题:'###'+'空格'+'标题名字'+'回车' 四级标题: ...