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. Java 向上转型

    向上转型: 对象的向上转型,其实就是多态写法: 父类名称 对象名 = new 子类名称(); 注意:向上转型一定是安全的,从小范围转向大范围.(从小范围的猫,向上转化为更大范围的动物)

  2. ref、reactive、toRef、toRefs使用与区别

    reactive 传参:reactive(arg),arg只能是对象 arg为普通对象 返回响应式对象,不管层级多深,都能响应 使用:获取数据值的时候直接获取,不需要加.value 特点:解构.扩展运 ...

  3. HDLbits——Exams/2014 q4b

    题目要求 使用verilog描述如图所示得移位寄存器: Write a top-level Verilog module (named top_module) for the shift regist ...

  4. RxJava简要分析

    一:RxJava执行流程: RxJava简单使用 private final String tag = getClass().getSimpleName(); //数据源,被观察对象 Observab ...

  5. centos7最小化系统安装(ifconfig找不到)

    先我们安装后centos7最小化系统后,并进入系统执行命令ifconfig,会发现系统提示命令未找到.具体展示效果如下图所示. 然后输入命令查看本机是否分配IP,执行命令ip addr ,可以发现系统 ...

  6. 060_关于Component Event的介绍 (本文为转载)

    转载自:https://www.cnblogs.com/zero-zyq/p/8977093.html lightning component基于事件驱动模型来处理用户界面的交互.这种事件驱动模型和j ...

  7. sequelize关联相关表

    在article的迁移文件: 在commemt里面添加: 在单条查询里面 这样一个文章里面包含一个评论

  8. 第一讲:selenium快速入门

    一.selenium目前住主流的web自动化测试框架: 1.资料丰富 资料丰富       2.测试岗位招聘要求,上板率非常之高       3.支持多语言(iava/ pythan/ go /js) ...

  9. python中列表,字典,字符串常用操作

    1. 列表操作 分类 关键字 / 函数 / 方法 说明 增加 列表.append(值) 在末尾追加值   列表.insert(索引, 值) 在指定位置插入值, 超过索引会追加值   列表.extend ...

  10. iOS自动化测试

    学习步骤: 1.能够搭建iOS自动化测试所需要的环境 2.能够使用模拟器进行iOS自动化测试 3.能够使用真机进行iOS自动化测试 一.环境搭建 应用场景 想要进行iOS自动化测试,前提条件需要进行环 ...