笔试,牛客.kotori和n皇后​,牛客.AOE还是单体

目录

牛客.kotori和n皇后​编辑

牛客.AOE还是单体


牛客.kotori和n皇后

 想起来,我之前还写过n皇后的题,但是这个我开始只能想到暴力解法

判断是不是斜对角线,联想y=x+b和y=-x+b,假如在一条线上,那么他们的x和y会对应成比例,这个扫描+判断是一个O(n^2)的操作。

import java.util.*; 
import java.io.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));public static Read in=new Read();public static void main(String[] args) throws IOException{int n=in.nextInt();long [][]a=new long[n][2];for(int i=0;i<n;i++){a[i][0]=in.nextInt();a[i][1]=in.nextInt();}int t=in.nextInt();//暴力解法//简易的n皇后问题.@while(t>0){int ret=0;int k=in.nextInt();for(int i=0;i<k-1;i++){if(a[i][0]==a[k-1][0]||a[i][1]==a[k-1][1]||a[i][0]+a[i][1]==a[k-1][0]+a[k-1][1]||a[i][1]-a[i][0]==a[k-1][1]-a[k-1][0]){ret=1;break;}}if(ret==1){out.println("Yes");}else{out.println("No");}t--;}out.close();}
}
class Read{//字符串裁剪StringTokenizer st=new StringTokenizer("");BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));String next()throws IOException{while(!st.hasMoreTokens()){st=new StringTokenizer(bf.readLine());}return st.nextToken();}int nextInt() throws IOException{return Integer.parseInt(next());}
}

改进:哈希表,我们需要快速获取他的攻击范围,所以快速获取则使用哈希表,我们只需要获取他的攻击范围即可,怎么存,可以使用哈希Set,

问题,假如当前他第i个已经出现了会攻击的情况的话,那么后面的只需要存对应的消息,无需接着判断,因为一直会被攻击

import java.util.*;
import java.io.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static PrintWriter out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));public static Read in=new Read();public static void main(String[] args) throws IOException {int n = in.nextInt();long [][]a = new long[n + 1][2];
//四个哈希表一个存行,一个列,一个x,一个-x (我说的是斜率)HashSet<Long>row = new HashSet<>();HashSet<Long>col = new HashSet<>();HashSet<Long>dig1 = new HashSet<>();HashSet<Long>dig2 = new HashSet<>();int ret = (int)1e5 + 10;for (int i = 1; i <= n; i++) {a[i][0] = in.nextLong();a[i][1] = in.nextLong();if (ret != (int)1e5 + 10)continue;if (row.contains(a[i][0]) || col.contains(a[i][1])  ||dig1.contains(a[i][0] + a[i][1]) ||dig2.contains(a[i][1] - a[i][0])) {ret = i;}row.add(a[i][0]);col.add(a[i][1]);dig1.add(a[i][0] + a[i][1]);dig2.add(a[i][1] - a[i][0]);}int t = in.nextInt();//暴力解法//简易的n皇后问题.@while (t > 0) {int k = in.nextInt();
//k>=ret就是ret是从i开始,因为从i开始就可以与k保持一致下标,不然容易判断错误,多思考一步,麻烦if (k >= ret) {out.println("Yes");} else {out.println("No");}t--;}out.close();}
}
class Read {//字符串裁剪StringTokenizer st = new StringTokenizer("");//1.把字节流转化为字符流从IO设备中拿数据,先是建立一个内存缓冲区,然后以后都从他的内存缓冲区拿数据,BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));// 再从从内存缓冲区里面拿数据String next()throws IOException {//看他后面还有没有要裁切的数据while (!st.hasMoreTokens()) {//bf.nextLine:直接在内存缓存区里面,拿一行数据,交给这个字符串裁切对象st = new StringTokenizer(bf.readLine());}//再返回新读入这一行return  st.nextToken();}public String nextLine() throws IOException {return bf.readLine();}public    int nextInt() throws IOException {return Integer.parseInt(next());}public long nextLong() throws IOException {return Long.parseLong(next());}public double nextDouble() throws IOException {return Double.parseDouble(next());}
}

牛客.AOE还是单体

暴力解法,但是缺点就是复杂度过高,因为你可以看x和n范围,我们就知道了,这可能会循环很多次。

import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别int  n = in.nextInt();long x = in.nextLong();long[]a = new long[n];long sum = 0;for (int i = 0; i < n; i++) {a[i] = in.nextLong();}int all = n;Arrays.sort(a);int p=0;while (n > x) {for (int i = 0; i < all; i++) {a[i]--;if (a[i] == 0) {n--;}else{p=i;}}sum += x;}if(all>x){for (int i=all-(int)x; i < all; i++) {if(a[i]>0){sum += a[i];}}}else{for(int i=0;i<n;i++){sum+=a[i];}}System.out.print(sum);}
}

import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别int  n = in.nextInt();long x = in.nextLong();long[]a = new long[n];long sum = 0;for (int i = 0; i < n; i++) {a[i] = in.nextLong();}Arrays.sort(a);int p=0;if(n>x){for (int i=n-(int)x; i <n; i++) {if(a[i]>0){sum += a[i]-a[n-(int)x-1];}}sum+=x*a[n-(int)x-1];}else{for(int i=0;i<n;i++){sum+=a[i];}}System.out.print(sum);}
}

​​​​​​​ 

 

import java.util.*;
public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param coins int整型一维数组 * @return int整型*/public int getCoins (ArrayList<Integer> coins) {int n=coins.size();int []a=new int[n+2];for(int i=0;i<n+2;i++){if(i==0||i==n+1){a[i]=1;}else{a[i]=coins.get(i-1);}}int[][]dp=new int[n+2][n+2];for(int i=n;i>=1;i--){for(int j=i;j<=n;j++){for(int k=i;k<=j;k++){dp[i][j]=Math.max(dp[i][k-1]+dp[k+1][j]+a[k]*a[i-1]*a[j+1],dp[i][j]);}}}return dp[1][n];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/878627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【弱监督时间动作定位】Probabilistic Vision-Language Representation for WSTAL 论文阅读

Probabilistic Vision-Language Representation for Weakly Supervised Temporal Action Localization 论文阅读 Abstract1 Introduction2 RELATEDWORK2.1 Weakly Supervised Temporal Action Localization2.2 Vision Language Pre-training2.3 Probabilistic Representation 3…

RocketMQ高级特性四-消息过滤

目录 前言 Broker端过滤 定义与概述 消息过滤分类 原理机制 使用场景 优缺点 Java代码示例 - Tag过滤 Java代码示例 - SQL92过滤 客户端过滤 定义与概述 原理机制 使用场景 优缺点 Java代码示例 总结 前言 消息过滤是RocketMQ的一项高级特性&#xff0c;它允许…

常见HTTP状态码、APUD响应状态字及含义

目录 一、HTTP状态码 二、APDU指令码 一、HTTP状态码 HTTP状态&#xff08;HTTP Status Code&#xff09;是用以表示网页服务器超文本传输协议响应状态的3位数字代码。 关于HTTP状态码更加详细介绍推荐阅读&#xff1a; http://t.csdnimg.cn/qSJv6http://t.csdnimg.cn/qSJv…

光敏电阻传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.光敏电阻传感器介绍 2.原理图 三、程序设计 main.c文件 ldr.h文件 ldr.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器&#xff0c;又称为光…

基于树莓派的儿童音频播发器—Yoto

Raspberry Pi 的开发可能性使吸引人的、以儿童为中心的音频播放器得以成型 Yoto Player 为孩子们提供了拥有和控制的绝佳体验&#xff0c;同时不会增加屏幕时间。得益于 Raspberry Pi 以及我们认可的经销商提供的支持和专业知识&#xff0c;Yoto Player 在英国取得了成功。 Yo…

七款最佳的渗透测试工具(非常详细)零基础入门到精通,收藏这一篇就够了

渗透测试工具是模拟对计算机系统、网络或 Web 应用程序的网络攻击的软件应用程序&#xff0c;它们的作用是在实际攻击者之前发现安全漏洞。它们可以作为系统的压力测试&#xff0c;揭示哪些区域可能会受到真正的威胁。 本文我将介绍七款最佳的渗透测试工具。 1 Kali Linux K…

Maven入门:自动化构建工具的基本概念与配置

一、什么是Maven 目前无论使用IDEA还是Eclipse等其他IDE&#xff0c;使用里面 ANT 工具帮助我们进行编译&#xff0c;打包运行等工作。Apache基于ANT进行了升级&#xff0c;研发出了全新的自动化构建工具Maven。 Maven使用项目对象模型&#xff08;POM-Project Object Model&…

视频合并在线工具哪个好?好用的视频合并工具推荐

当我们手握一堆零散却各有千秋的视频片段时&#xff0c;是否曾幻想过它们能像魔法般合并成一部完整、流畅的故事&#xff1f; 别担心&#xff0c;今天咱们就来一场“视频合并大冒险”&#xff0c;揭秘几款视频合并软件手机免费工具&#xff0c;帮助你在指尖上实现创意无限的视…

四、配置三层交换实验组网

一、实验拓扑 二、实验目的 通过配置交换机&#xff0c;令不同vlan间的主机能够互相通信 三、实验步骤 SW12 <Huawei>undo terminal monitor Info: Current terminal monitor is off. <Huawei>system-view Enter system view, return user view with CtrlZ. [H…

EDIUS X 10.34.9631 视频剪辑软件 下载 包含安装说明

下载地址(资源制作整理不易&#xff0c;下载使用需付费&#xff0c;不能接受请勿浪费时间下载) 链接&#xff1a;https://pan.baidu.com/s/1P2wKxVcSx5WzAtHXCaAp5A?pwd227i 提取码&#xff1a;227i

【Linux网络】应用层协议HTTP(1)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux网络 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 应用层协议HTTP 的相关内容。 如果看到最后您觉得这篇文章写得…

「深入理解」HTML Meta标签:网页元信息的配置

「深入理解」HTML Meta标签&#xff1a;网页元信息的配置 HTML的<meta>元素用于提供关于HTML文档的元数据&#xff08;metadata&#xff09;&#xff0c;这些信息对于浏览器和其他处理HTML文档的应用程序来说是非常有用的&#xff0c;如&#xff1a;<base>、<li…

【网络安全】服务基础第一阶段——第九节:Windows系统管理基础---- Windows_AD域

目录 一、域与活动目录 1.1 工作组 1.2 域 1.2.1 域&#xff08;Domain&#xff09; 1.2.2 域控制器&#xff08;Domain Controller&#xff0c;DC&#xff09; 1.2.3 功能和角色 1.2.4 管理和监控 1.2 5 域结构 1.3 组织单元&#xff08;Organizational Unit&#xff…

集成电路学习:什么是IP知识产权

一、IP&#xff1a;知识产权 IP是Intellectual Property的缩写&#xff0c;即知识产权。知识产权是一种无形的财产权&#xff0c;也称智力成果权&#xff0c;它指的是通过智力创造性劳动所获得的成果&#xff0c;并且是由智力劳动者对成果依法享有的专有权利。这种权利包括人身…

性能优化:自动化处理系统设计

性能优化&#xff1a;自动化处理系统设计 前言需求分析系统设计1. 调度中心2. 任务执行器3. 错误处理机制4. 通知系统5. 报表生成器6. 日志记录器 技术实现结语 前言 在当今这个信息爆炸、技术日新月异的时代&#xff0c;企业面临着前所未有的挑战和机遇。随着业务量的不断增长…

基于Yolov5_6.1、LPRNet、PySide6开发的车牌识别系统

项目概述 项目背景 随着车辆数量的不断增加&#xff0c;车牌识别系统在交通管理、停车场自动化等领域变得越来越重要。本项目利用先进的深度学习技术和现代图形用户界面框架来实现高效的车牌识别功能。 项目特点 高效识别&#xff1a;采用 YOLOv5_6.1 进行车牌定位&#xff…

差分传输与单端传输

差分与单端传输 本页讨论模拟信号传输中的两个概念&#xff1a;“单端”和“差分”。模拟信号用于将模拟仪器的输出传送到数字转换器。虽然数字信号对干扰的容忍度相对较高&#xff0c;但模拟信号却可能受到环境中电磁波的干扰和改变。本文档将解释这一问题&#xff0c;并描述…

OcrLiteNcnn:Windows环境打包及Java调用

目录结构 前言cmake安装源码下载说明Windows源码编译执行“cmake -DCMAKE_BUILD_TYPE=Release ..”执行“cmake --build . --config Release -- -m:6”编译完成识别图片命令行调用Java调用前言 Java实现OCR识别图片中的文字,小编先前整理过一篇在Linux环境中基于“ChineseOcr…

全局安装react

1、首先安装react脚手架 npm install -g create-react-app2、创建react项目 create-react-app my-app3、 PS D:\桌面\papers\subject> create-react-app my-react-appCreating a new React app in D:\桌面\papers\subject\my-react-app.Installing packages. This might …

Docker安装Neo4j图数据库和APOC插件

文章目录 一、前言二、安装Neo4j三、测试Neo4j四、安装APOC插件五、测试APOC插件 一、前言 官方文档&#xff1a;https://neo4j.com/docs/operations-manual/current/docker/introduction/ 二、安装Neo4j 我这里以 5.23.0 版的 Neo4j 为例 拉取镜像 docker pull neo4j:5.23.0…