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

建设网站要求怎么做电影网站不违法吗

建设网站要求,怎么做电影网站不违法吗,网站建设丷金手指花总,镇江市质监站网址前言 整体评价 其实T3最有意思, T4很典,是一道二分最短路径经典套路。 T3 如果尝试 增量差值最小 的最大梯度去贪心的话,会失败,需要切换思路。 珂朵莉 牛客周赛专栏 珂朵莉 牛客小白月赛专栏 A. 游游的正方形披萨 如果横竖差…

前言

alt


整体评价

其实T3最有意思, T4很典,是一道二分+最短路径经典套路。

T3 如果尝试 增量差值最小 的最大梯度去贪心的话,会失败,需要切换思路。

珂朵莉 牛客周赛专栏

珂朵莉 牛客小白月赛专栏


A. 游游的正方形披萨

如果横竖差值最小的话

两者要么相等,要么差一

令 e1 = n / ((k + 1)/2+1), e2 = n / (k/2 + 1)

则 s = e1 * e2

这样很好的兼顾了k为奇偶的情况

import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));int n = sc.nextInt();int k = sc.nextInt();double e1 = n * 1.0 / ((k + 1)/2 + 1);double e2 = n * 1.0 / (k/2 + 1);double s = e1 * e2;System.out.printf("%.2f\n", s);}}

B. 游游的字母翻倍

这题字符串和操作次数较小,然后可以暴力模拟

如果操作数很多的话,可能需要借助数据结构来维护增量

因为这里面有明显的区间操作.

import java.io.BufferedInputStream;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));int n = sc.nextInt();int q = sc.nextInt();char[] str = sc.next().toCharArray();for (int i = 0; i < q; i++) {int l = sc.nextInt() - 1, r = sc.nextInt() - 1;int d = r - l + 1;char[] str2 = new char[str.length + d];// 头部System.arraycopy(str, 0, str2, 0,l);// 中间的doublefor (int j = 0; j < d; j++) {str2[l + j * 2] = str2[l + j * 2 + 1] = str[j + l];}// 尾巴System.arraycopy(str, r + 1, str2, r + 1 + d, str.length - (r + 1));str = str2;}System.out.println(new String(str));}}

C. 数组平均

这题很有意思,先来看一个显而易见的结论

  • k == 1, 则结果为 最大值 - 最小值
  • k == n, 则结果必然为 0

如果核心的焦点在于, k在两者之间时,如何求解

一开始猜了一个,从收益最大(差值减少梯度)的角度去贪心,结果WA,而且得分不高

一度没辙,后面仔细分析了下,感觉可以枚举最大的没有被选中的项

如果选中某一个项为最大值,那比它小,而离的越近必然被保留,所以k的选择一定分布在前后缀.

alt

所以思路是

  • 排序
  • 枚举未被选中的最大值
  • 利用前后缀优化加速
import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));int n = sc.nextInt(), k = sc.nextInt();int[] arr = new int[n];for (int i = 0; i < n; i++) {arr[i] = sc.nextInt();}Arrays.sort(arr);if (k == 1) {System.out.println(arr[n - 1] - arr[0]);} else if (k == n) {System.out.println(0);} else {double ans = arr[n - 1] - arr[0];// 前后缀拆解long[] suf = new long[n + 1];for (int j = n - 1; j >= 0; j--) {suf[j] = suf[j + 1] + arr[j];}long pre = 0;// 假设这个元素没被选中for (int i = 0; i < n; i++) {if (i > k) break;long acc = pre + suf[n + i - k];double avg = acc * 1.0 / k;double m1 = Math.max(avg, arr[n + i - k - 1]);double m2 = Math.min(avg, arr[i]);ans = Math.min(ans, m1 - m2);pre += arr[i];}System.out.println(ans);}}}

D. 游游出游

经典套路题

二分最大重量,然后check逻辑中跑最短路(Dijkstra)进行验证

import java.io.*;
import java.util.*;public class Main {static long inf = Long.MAX_VALUE / 10;static boolean check(int n, List<int[]> []g, int limit, int h) {long[] res = new long[n];Arrays.fill(res, inf);PriorityQueue<long[]> pq = new PriorityQueue<>(Comparator.comparing(x -> x[1]));pq.offer(new long[] {0, 0});res[0] = 0;while (!pq.isEmpty()) {long[] cur = pq.poll();int u = (int)cur[0];if (cur[1] > res[u]) continue;for (int[] e: g[u]) {int v = e[0];if (e[1] >= limit && res[v] > res[u] + e[2]) {res[v] = res[u] + e[2];pq.offer(new long[] {v, res[v]});}}}return res[n - 1] <= h;}public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));int n = sc.nextInt(), m = sc.nextInt(), h = sc.nextInt();// 二分List<int[]>[]g = new List[n];Arrays.setAll(g, x -> new ArrayList<>());int mz = 0;for (int i = 0; i < m; i++) {int u = sc.nextInt() - 1, v = sc.nextInt() - 1;int w = sc.nextInt(), d = sc.nextInt();g[u].add(new int[] {v, w, d});g[v].add(new int[] {u, w, d});mz = Math.max(mz, w);}int l = 0, r = mz;while (l <= r) {int mid = l + (r - l) / 2;if (check(n, g, mid, h)) {l = mid + 1;} else {r = mid - 1;}}System.out.println(r);}}

写在最后

alt

http://www.yayakq.cn/news/736446/

相关文章:

  • 资源网站推荐遵义在线读者板留言
  • 立网站系手机网址全部出来
  • 网站开发法律做网站需要学会做哪些东西
  • 个人音乐网站程序源码电商广告
  • php网站建设考试移除wordpress上边栏
  • TP5企业网站开发教程百度云网站建设平台官网要点有哪些
  • app比网站的优势中国建设银行招标网站
  • 建设网站的简单编程语言wordpress建官网怎样
  • 如何网上卖东西六安网站建设优化
  • 本地网站做哪方面吸引人个体工商户备案网站备案
  • 北京泵网站建设江苏省建设厅网站官网
  • 园林企业建设网站做个公司展示网站多少钱 后期有什么费用
  • 泰州网站设计舆情报告分析
  • 如何把网站建设成营销型网站想做网店怎么做
  • 福田专门做网站推广公司无锡网站制作哪些
  • 设计师必须知道的网站网站建设小程序
  • 浏览网站怎么用手机做网站模板对seo的影响
  • 网站建设工作部署会杭州装饰网站建设方案
  • 手机分销网站建设wordpress 搜索媒体库
  • 优秀手机网站欣赏广州白云区公司注册
  • 河南网站建设设计价格wordpress+刷新
  • 金融网站开发文档下载网络推广员岗位职责
  • 廊坊网站网站建设化工厂网站建设
  • 如何对网站页面进行优化海东企业网站建设
  • 泉州网站开发人员建设网站只能是公司
  • 深圳企业网站建设开发费用下载网站源代码
  • 做视频网站流量费高吗聊城做网站做的不错的
  • 建设一个校园网站的可行性杭州seo整站优化
  • 桂林网站建设价格建服务网站需要多少钱
  • 做网站搞个物理服务器开发商不给办房产证怎么办