笔试,牛客.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…

streamlit示例-极简

登录注册多步骤任务和实时展示结果 封装后的 Streamlit 示例代码 访问演示地址 import streamlit as st import time# In-memory "database" for simplicity users_db {admin: {password: admin123, name: Admin, age: 30, favorite_color: blue} }def register_…

(C++ STL)list类的简单模拟实现与源码展示

list类的简单模拟实现 一、前言二、ListNode 单个节点的成员变量三、ListIterator 迭代器四、ReverseListIterator 迭代器五、list 的成员变量与初始化六、list 部分函数实现inserterase 七、list 源代码 以下代码环境为 VS2022 C。 一、前言 list类 本质上是数据结构中的双向…

JVM GC 调优

文章目录 引言I 调整JVM的默认堆内存配置1.1 java命令启动jar包时配置JVM 的内存参数1.2 基于Tomcat服务器部署的java应用,配置JVM 的内存参数II JVM GC 调优基本概念: 应用程序的响应时间(RT)和吞吐量(QPS)JVM调优原理调优思路调优方法JVM调优技巧建议引言 内存参数:ht…

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

渗透测试工具是模拟对计算机系统、网络或 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…

3、DjangoAdmin导出excel和csv文件

一、导出Excel 1、安装openpyxl库 2、admin文件 # 导入openpyxl库中的Workbook类&#xff0c;用于创建Excel文件 from openpyxl import Workbook # 导入Django的admin模块&#xff0c;用于在Django admin后台注册和管理模型 from django.contrib import admin # 导入…

2025中国(西安)国际军民两用新材料展览会

时 间&#xff1a;2025年3月14-16日 地 点&#xff1a;西安国际会展中心 ◆展会背景Exhibition background&#xff1a; 随着科技的飞速发展&#xff0c;新材料在军事领域的应用逐渐凸显出…

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

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

ant design vue+vue3+ts实现一天内按钮只能点击2次,并置灰,且过当天0点时需复原~

1、需求&#xff1a;在主页面中点击新增按钮&#xff0c;弹出弹窗&#xff0c;此时弹窗中有一个确定按钮&#xff0c;需实现该确定按钮在当天0点前指点点击2次&#xff0c;超过2次置灰&#xff0c;过了零点复原。 思路&#xff1a;首先弹窗通过v-if显示与隐藏弹窗子组件&#…

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

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

OCI编程高级篇(十八) OCI连接池概念

数据库连接池已经不是新概念了&#xff0c;它以有限的连接让外部更多的客户来访问数据库&#xff0c;一般用于中间服务器中&#xff0c;OCI也有连接池的概念。OCI的连接池是由OCI自己管理的&#xff0c;不需要应用干预&#xff0c;程序通过函数从连接池中得到一个会话&#xff…

【Android】 工具篇:ProxyPin抓包详解---夜神模拟器

1️⃣ProxyPin介绍 ProxyPin是一种基于MITM(中间人攻击)的抓包工具,主要用于移动应用程序的安全测试和调试。下面是关于ProxyPin的详解。 2️⃣ 安裝和使用 安裝 下载地址 https://gitee.com/wanghongenpin/network-proxy-flutter/releases 直接拖入模拟器就可以了,打开…

github源码指引:共享内存、数据结构与算法:字符串池StringPool

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 专题&#xff1a;共享内存、数…