当前位置: 首页 > news >正文

PDD9.14 笔试 - 浪矢

目录
  • Day1 T1
  • Day1 T4

Day1 T1

简单的模拟: 题目内容大概是给一个字符串a,a的子串拼成字符串b。
例如abcd -> abbccd 给你b字符串,要求给出a字符串。
思路:b字符串中除了第一个字符和最后一个字符串外,其他的都是重复字符,隔一个选一个就好。

点击查看代码
import java.util.*;public class Main {/*** 根据解码规则,从字符串 b 反推出原始字符串 a* @param b 编码后的字符串* @return 解码后的原始字符串 a*/public static String decode(String b) {// a的长度至少为2,所以b的长度也至少为2,不需要特殊处理空字符串或长度为1的字符串if (b == null || b.length() < 2) {// 根据题意,这种情况不会发生,但作为代码健壮性可以保留return ""; }StringBuilder aBuilder = new StringBuilder();// 1. a的第一个字符就是b的第一个字符aBuilder.append(b.charAt(0));// 2. a的后续字符是b中所有奇数索引上的字符for (int i = 1; i < b.length(); i++) {if (i % 2 != 0) { // 判断索引是否为奇数aBuilder.append(b.charAt(i));}}return aBuilder.toString();}/*** 程序主入口,负责处理标准输入和输出*/public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取一行输入,即编码后的字符串 bString b = scanner.nextLine();// 调用解码函数String a = decode(b);// 打印最终结果到标准输出System.out.println(a);}
}

Day1 T4

题目内容: 给一个数组,q次查询,每次给一个x,y。你可以随意重新排序数组(其实暗示了不用关心数组顺序),以x倍数为下标是数组元素集合记为xSet,集合数值总和记为xSum,以y为下标的数组元素集合记为ySet,它们的总和为ySum,输出重排后xSum-ySum的最大值。
思路:其实x和y是有公倍数的,数组中下标为x和y公倍数的元素在xSet和ySet中都会存在(记为x^ySet 为 xSet 和ySet的公共部分 ),所以对xSum-ySum无影响。那么需要关注的就是不重合的部分元素,即只需关注 集合xSet-x^ySet 和集合ySet-x^ySet。
这两部分不重合,所以只需要把元素值大的元素放在xSet中,把元素小的放在ySet中即可。
因此,对于每个x,y, xSum-ySum的最大值是 最大的n/x-n/(x * y)个元素的和 减去最小的n/y-n/(x * y)个元素的和。
对数组元素排序,维护一个前缀和和后缀和 每次查询作差即可(当天拉肚子没写完去厕所了。。。)

点击查看代码
package cn.CL;import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();//数组长度int q = in.nextInt();//q次查询int[] a = new int[n];//数组值for (int i = 0; i <n; i++) {a[i] = in.nextInt();}//对数组先进行排序Arrays.sort(a);while (q-- > 0) {long ans =0;int x = in.nextInt();int y = in.nextInt();//下标为x的倍数的数int nx = n / x;//下标为y的倍数的数int ny = n / y;//下标为xy的倍数的数int nxy = n / (x * y);nx = nx-nxy;ny = ny-nxy;//然后最大的一些的值减去最小的一些数的值for(int i=n-1;i>=n-nx;i--){ans += a[i];}for(int i=0;i < ny;i++){ans -= a[i];}System.out.println(ans);}}
}
http://www.sczhlp.com/news/99808/

相关文章:

  • 全面的seo网站优化排名申请注册公司流程及费用
  • 网站优化标题河北石家庄建设信息网
  • 做算法题网站网站用哪些系统做的比较好用
  • 网站建设 域名主机网络营销的基本职能
  • 大型网站开发流程和步骤旅游网站模板html
  • 免费企业网站报价什么软件可以刷网站排名
  • 亳州企业网站建设自己做淘宝网站
  • iis如何发布asp.net网站郑州高端设计公司
  • 关于网站得精神文明建设如何卸载安装wordpress
  • 网站添加站长统计代码wordpress 获取作者名
  • 建网站那个好小程序代运营
  • 百度站长收录提交入口腾讯企业qq官网
  • 详细介绍:【Spring Boot 报错已解决】Web server failed to start. Port 8080 was already in use.
  • Nordic Neuton.AI 技术优势;
  • channel Sounding 工作流程
  • 基于Zhang-Suen算法的图像细化处理FPGA实现,包含testbench和matlab验证程序
  • channel Sounding RTT和PBR 属性总结
  • 下海做公关的网站景安网站备案 不去拍照
  • 电白区建设局网站企业推广建站
  • 免费qq空间访客网站商品详情页图片
  • ps外包网站软件开发项目经理的工资一般多少
  • 石家庄网站建设工作室湖南人力资源网官网
  • 做花语的网站好的网站你知道
  • 长沙公司网站的建设中国建筑材料价格网
  • 健康生活网站开发系统背景做电信网站运营
  • 企业电子商务网站建设教案自己做外贸怎么找客户
  • 免费的网站开发工具做cpa用什么网站
  • 摄影网站介绍家居装修设计平台
  • 陕西网站建设培训重庆网站推广方法大全
  • 图片外链网站wordpress页面展示多个文章