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. 为什么用postman

    1,  保存测试的记录, 就是确保访问的地址,数据什么的,得到的结果是有效的2,  假设开始一个访问, 然后方便在本地debug, 因为有些访问是不能通过本地的浏览器来访问的, 比如前后端分离的情况, ...

  2. REMOTE HOST IDENTIFICATION HAS CHANGED!服务器重置后远程连接不上

    问题: 解决: 本地打开shell,重置key

  3. C CODE STYLE 每天瞅一两眼

    阅读进度:只读到了swich 转载于:https://users.ece.cmu.edu/~eno/coding/CCodingStandard.html C Coding Standard C Co ...

  4. android cannot generate view binders android.databinding.tool.util.LoggedErrorException

    错误: Cannot resolve type 'viewModel'错误: cannot generate view binders android.databinding.tool.util.Lo ...

  5. C#windows 服务 《转载》

    转自:https://blog.csdn.net/Code_May/article/details/123909870 c#应用Windows服务 背景 一.创建windows服务 1.创建windo ...

  6. keypress和keydown的区别

    keypress不识别功能键,比如ctrl,alt,shift,上下左右.keypress返回的ascII码区分大小写.输入小写a返回97,输入大写A返回65. keydown识别.keydown返回 ...

  7. SVN创建自己的版本库

    1.创建版本库 第一:新建文件夹 第二:将新建文件与SVN建立关联(创建版本库) 直接选择OK 点击确定后文件夹图标也换了 该下的信息就是用来协助我们存储数据的(不是数据) 2.获取SVN库中的数据并 ...

  8. pytorch循环神经网络实现回归预测 代码

    pytorch循环神经网络实现回归预测 学习视频:莫烦python # RNN for classification import torch import numpy as np import to ...

  9. BBS 项目分析

    项目开发流程 # 1.核心 文章的增删改查 # 2.表关系分析 确定表的数量,确定表的基础字段,最后确定表的外键字段 # 3.表 1.用户表 2.个人站点表 3.文章表 4.文章分类表 5.文章标签表 ...

  10. Mysql 非幂等性

    幂等性就是指:一个幂等操作任其执行多次所产生的影响均与一次执行的影响相同. -- 幂等性在分布式高并发中很常见,如不能重复点赞.电商订单库存数要一致等. MySQL解决非幂等性常用方法: 1.乐观锁 ...