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

制作网站的发展前景手机网站 手机app

制作网站的发展前景,手机网站 手机app,专业网站建设效果,全自动网页制作系统源码蓝桥杯2024年真题java B组 【H.拼十字】 原题链接#xff1a;拼十字 思路#xff1a; 使用树状数组或线段树解决。 先将输入的信息存入到一个n行3列的数组中#xff0c;将信息排序#xff0c;按照长度小到大#xff0c;长相同时#xff0c;宽度小到大 排序。 建立三个…蓝桥杯2024年真题java B组 【H.拼十字】 原题链接拼十字 思路 使用树状数组或线段树解决。 先将输入的信息存入到一个n行3列的数组中将信息排序按照长度小到大长相同时宽度小到大 排序。 建立三个树状数组维护三种颜色对应的信息树状数组的索引就是数据的宽度值就是有几个这样宽度的数据。 遍历数组每组数据 当颜色为0时假设该组数据为6 3 0则要求的就是其他两个颜色中宽度比当前宽度大的因为长度已经从小到大排过序也就是去1,2树状数组中找宽度比当前3的宽度大的就是下标大于3的就是宽度大于三的就是1,2树状数组中的4到无穷大就是到N的和。 将该组数据加到对应的树状数组0中去就是tree0.add(arr[i][1],1) 其他两种情况同理。 该过程中的树状数组中的很多空间是无效的但还是通过了。 code import java.io.*; import java.util.Arrays; public class Main {static int N 100005;static int MOD 1000000007;public static void main(String[] args) throws IOException {BufferedReader br new BufferedReader(new InputStreamReader(System.in));StreamTokenizer in new StreamTokenizer(br);PrintWriter out new PrintWriter(new OutputStreamWriter(System.out));in.nextToken();int n (int) in.nval;//数据信息一行存储一个数据项int[][] arr new int[n 1][3];Tree tree0 new Tree(N);Tree tree1 new Tree(N);Tree tree2 new Tree(N);for (int i 1; i n; i) {in.nextToken();arr[i][0] (int) in.nval;in.nextToken();arr[i][1] (int) in.nval;in.nextToken();arr[i][2] (int) in.nval;}long res 0;//排序先按照长度升序排序在按照宽度进行升序排序Arrays.sort(arr, (a, b) - {if (a[0] ! b[0]) {return Integer.compare(a[0], b[0]); // 按 arr[i][0] 升序}return Integer.compare(a[1], b[1]); // 如果 arr[i][0] 相同按 arr[i][1] 升序});for (int i 1; i n; i) {//将当前的节点加入线段树中//先求和res % MOD;if (arr[i][2] 0){res tree1.sum(arr[i][1]);res tree2.sum(arr[i][1]);tree0.add(arr[i][1],1);} else if (arr[i][2] 1) {res tree0.sum(arr[i][1]);res tree2.sum(arr[i][1]);tree1.add(arr[i][1],1);}else{res tree0.sum(arr[i][1]);res tree1.sum(arr[i][1]);tree2.add(arr[i][1],1);}}out.print(res);out.flush();out.close();br.close();} } class Tree{long[] tree;int N;public Tree(int N){this.N N;tree new long[N 1];}//获取最右边的1public long lowBit(int i) {return i -i;}public void add(int i,long val) {while (i N) {tree[i] val;i lowBit(i);}}//计算的是原数组中的 1-i 对应的和public long query(int i) {long res 0;while (i 0) {res tree[i];i - lowBit(i);}return res;}public long sum(int i){return query(N) - query(i);} }
http://www.hkea.cn/news/14547806/

相关文章:

  • 怎么用电脑自带软件做网站页面做编程网站有哪些
  • 建设网站文献软件工程考研难度大吗
  • 怎样做淘宝网站建设注册规划师报考条件2022
  • HTML asp 网站桂林山水网页制作
  • 网站丢失了怎么办wordpress 菜单两列显示
  • 网站添加漂浮二维码怎么做如何查看网站开发者
  • html制作音乐网站代码竞价广告推广
  • seo外推旺道网站优化
  • 制作深圳网站建设东营有能做网站优化
  • 搜索引擎营销的特征成都seo整站
  • 重新做网站网站后台管理系统怎么添加框
  • 北京做网站哪家公司好重庆网站优化软件
  • php租车网站北京市建设工程信息网ic卡
  • 苏州哪个公司做网站好教育学会网站建设项目
  • 海外注册域名的网站设计 p网站
  • 外贸网站如何做推广苏州企业运营模式有哪些
  • 制作网页的工具主要有哪些南京seo关键词优化服务
  • 怎样做班级网站wordpress有广告插件
  • 东莞竞价推广seo推广排名
  • 惠州城乡建设部网站遵义网站制作的网站
  • 网站分页导航企业网站搭建项目概述范文
  • 网站建设升级的必要性电子商务官方网站建设
  • 珠海网站制作套餐wordpress防采集
  • 怎么做网站关键字WordPress主题站
  • 哪些网站的登陆界面做的好看门户网站开发注意哪些
  • 网站设计的意义开发网站如何赚钱
  • 医院网站建设官网爱站网seo工具
  • iis打开网站变成下载如何建设一个视频网站
  • 找个人给我做电影网站个人怎么做微信公众号和微网站
  • cpanel 子网站微信公众平台人工电话