CSP202209 03.18 JAVA 如此编码 何以包邮? 防疫大数据 吉祥物投票 高维亚空间超频物质变压缩技术 持续更新欢迎交流..
创始人
2025-05-30 15:13:49
0

更新时间:2023.03.18

当前结果

 

题目地址:首页 - 计算机软件能力认证考试系统

注意:想直接运行需要把下列代码class名和main函数改成Main再加入即可

如此编码

思路

按题目模拟填充数据

按照提示算出每个和项中的b输出即可

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {new Main().solution();}private void solution() {init();print();}private void print() {StringBuilder sb = new StringBuilder();for (int i = 1; i <= n; i++) {sb.append(b[i]).append(" ");}System.out.println(sb);}private int n, m;private int[] a, b, c, mo;private void init() {Scanner sc = new Scanner(System.in);n = sc.nextInt();m = sc.nextInt();a = new int[n + 1];c = new int[n + 1];c[0] = 1;for (int i = 1; i <= n; i++) {a[i] = sc.nextInt();c[i] = c[i - 1] * a[i];}b = new int[n + 1];mo = new int[n];mo[0] = m % c[1];b[1] = mo[0] / c[0];for (int i = 1; i < n; i++) {mo[i] = m % c[i + 1] - mo[i - 1];b[i + 1] = mo[i] / c[i];}}
}

何以包邮?

思路

枚举:70%

背包问题

既然不能通过枚举所有的情况来找到答案 ,那肯定是有一种途径来找到最优解,所以自然的联想到了dp(动态规划);我们再来看一下这个问题,寻找超过包邮条件x的最小数字组合。可以转化为先求书的总价sum,再用sum减去x得y,问题就变成了寻找不超过y(达到包邮条件)的最大数字组合,再用总价减去这个数字组合,即可得到最终答案。寻找不超过y的最大数字组合,这种类型就是典型的背包问题。这里,我们来简单回顾一下背包问题的几个核心思想:

子问题:当前背包容量j,前i个物品最佳组合对应的价值
递推关系式:v[i]:各商品价值   w[i]:各商品重量 (这里书的重量就是它的价值)

j j>w[i]: dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])

参考:CSP-何以包邮?(从背包问题的角度出发)_何以包邮?_CXR_XC的博客-CSDN博客

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {new Main().solution();}private void solution() {init();bag();print();}private void bag() {for (int i = 1; i <= n; i++) {// 遍历前i个物品for (int j = 1; j <= y; j++) {// 遍历容量if (a[i] > j) {// 如果当前物品的容量比容量大,肯定不能放入背包dp[i][j] = dp[i - 1][j];} else {// 放入背包或者不放入,看哪个价值大dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - a[i]] + a[i]);}}}}private void print() {System.out.println(sum - dp[n][y]);}private int n, x, sum, y;private int[] a;private int[][] dp;private void init() {Scanner sc = new Scanner(System.in);n = sc.nextInt();x = sc.nextInt();a = new int[n + 1];sum = 0;for (int i = 1; i <= n; i++) {a[i] = sc.nextInt();sum += a[i];}y = sum - x;// 转换为物品的价格为不超过y的最大情况dp = new int[n + 1][y + 1];}
}

防疫大数据

思路

模拟

模块化记录每天情况

每收到一个风险地区则更新后续日期的风险地区

 注意数据去重处理(set)

处理数据时按照风险名单判定来处理

代码

    public static void main(String[] args) {new fydsj20220903().solution();}private void solution() {init();deal();print();}private void deal() {for (int d = 0; d < n; d++) {Set dangers = data[d].dangers;// 当日风险名单for (int d0 = Math.max(d - 6, 0); d0 <= d; d0++) {// 遍历前面日期a:for (int[] mm : data[d0].ms) {int d1 = mm[0], u = mm[1], r = mm[2];if (dangers.contains(u)) continue;if (d1 > d - 7 && d1 <= d && d1 >= 0) {// 满足一号条件// 注意如果此处d1<0则必存在无记录情况,则不满足二号条件boolean isDanger = true;// 注意此处d1可能小于0for (int D = d1; D <= d && isDanger; D++) {if (!data[D].p.contains(r)) {isDanger = false;}}if (isDanger) dangers.add(u);// 二号条件}}}}}private void print() {for (int i = 0; i < n; i++) {StringBuilder sb = new StringBuilder();sb.append(i).append(' ');Set dangers = data[i].dangers;// 排序int[] us = new int[dangers.size()];int index = 0;for (int u : dangers) {us[index++] = u;}Arrays.sort(us);for (int u : us) {sb.append(u).append(' ');}System.out.println(sb);}}private int n;private Data[] data;class Data {int r, m;Set p;// 当天的风险地区int[][] ms;Set dangers;// 去重public Data() {dangers = new HashSet<>();p = new HashSet<>();}}private void init() {Scanner sc = new Scanner(System.in);n = sc.nextInt();data = new Data[n];for (int i = 0; i < n; i++) {data[i] = new Data();}for (int i = 0; i < n; i++) {int r = sc.nextInt(), m = sc.nextInt();// 收到风险地区,更新后续日期风险地区for (int j = 0; j < r; j++) {int dangerR = sc.nextInt();for (int z = i; z < n && z <= i + 6; z++) {data[z].p.add(dangerR);}}// 日期 用户 地区int[][] ms = new int[m][3];for (int j = 0; j < m; j++) {ms[j][0] = sc.nextInt();ms[j][1] = sc.nextInt();ms[j][2] = sc.nextInt();}data[i].r = r;data[i].m = m;data[i].ms = ms;}}
}

吉祥物投票

思路

代码

相关内容

热门资讯

本周外盘看点丨美联储最新决议来... 来源:第一财经 欧美二季度GDP表现如何,特朗普关税谈判“大限”到来。 上周国际市场风云变幻,美国...
生态环境部逯世泽:全国碳市场量... 21世纪经济报道记者雷椰 李德尚玉 北京报道 7月26日,由冶金工业规划研究院主办,中国节能协会冶金...
原创 帮... 刚刚,后台好多朋友问,帮主啊,国家统计局刚发了上半年的工业利润数据,下降了1.8%,这是不是经济不行...
“国补”来了!第三批690亿元... 国家发展改革委下达今年第三批690亿元超长期特别国债支持消费品以旧换新资金。 2025年以来,国家发...
海拍客IPO,创始人抵押价值上... 瑞财经 严明会 6月30日,Yangtuo Technology Inc.(以下简称“海拍客”)向港...
提前涨停!快递巨头出手:收购! 【导读】布局品质快递,申通快递以3.62亿元收购菜鸟旗下丹鸟物流 中国基金报记者 杨晨 7月25日晚...
第八届虹桥国际经济论坛发布主题... 第八届虹桥国际经济论坛(简称“虹桥论坛”)倒计时迎来一百天。记者获悉,第八届虹桥论坛的主题是“开放共...
21独家|吴清挂帅!资本市场超... 21世纪经济报道 记者 崔文静 上海报道 7月26日,一场关乎2亿股民的重磅会议召开,资本市场“国家...
原创 A... 最近的行情,简直像是被注入了一针强心剂,让不少老股民都忍不住揉眼睛——这是咱们熟悉的大盘吗?原本在3...
关于比特币,你可能不知道的(二... 本文来自微信公众号:,作者:经济小张,原文标题:《关于比特币,你可能不知道的(2):让比特币独一无二...
【WAIC2025】阶跃星辰发... 记者 钱玉娟 在2025世界人工智能大会(下称“WAIC 2025”)开幕前夜,7月25日,中国人工...
每周股票复盘:浙数文化(600... 截至2025年7月25日收盘,浙数文化(600633)报收于14.05元,较上周的14.01元上涨0...
博思软件上市9周年:归母净利润... 博思软件自2016年7月26日上市至今,已迎来9周年。从上市首日收盘价为16.82元、市值11.46...
每周股票复盘:传音控股(688... 截至2025年7月25日收盘,传音控股(688036)报收于76.2元,较上周的74.69元上涨2....
上海第六批土拍收官:全国单价地... 观点网7月25日,为期两日的上海六批次8宗地土拍落下帷幕,热度再创新高。 第二日出让的3宗地块分布于...
“国补”来了!第三批690亿元... 关注我们哦! 国家发展改革委下达今年第三批690亿元超长期特别国债支持消费品以旧换新资金 2025年...
和讯投顾黄杰:股市最近应该买阴... 今天怎么操作?和讯投顾黄杰分析,今天的策略是尾盘低吸科技低吸小票,或者明天低吸科技低吸小票,这是我的...
市场监管总局:已暂停充电宝及电... 7月25日,市场监管总局消息,从2024年开始将充电宝及其关键部件锂电池纳入CCC认证管理,近日正组...
门店“转卖”会员,把消费者当什... 预付式消费以其便捷与优惠在健身、教培、美容等行业广泛应用。针对预付式消费门店完全“跑路”的情况,相关...