中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

江蘇優(yōu)化網(wǎng)站公司代理推廣

江蘇優(yōu)化網(wǎng)站公司,代理推廣,公司如何做網(wǎng)站建設(shè),大學(xué)校園網(wǎng)絡(luò)設(shè)計(jì)方案藍(lán)橋杯2024年真題java B組 【H.拼十字】 原題鏈接:拼十字 思路: 使用樹狀數(shù)組或線段樹解決。 先將輸入的信息存入到一個(gè)n行3列的數(shù)組中,將信息排序,按照長度小到大,長相同時(shí),寬度小到大 排序。 建立三個(gè)…

藍(lán)橋杯2024年真題java B組 【H.拼十字】

原題鏈接:拼十字
思路:

使用樹狀數(shù)組或線段樹解決。

先將輸入的信息存入到一個(gè)n行3列的數(shù)組中,將信息排序,按照長度小到大,長相同時(shí),寬度小到大
排序。
建立三個(gè)樹狀數(shù)組,維護(hù)三種顏色對(duì)應(yīng)的信息,樹狀數(shù)組的索引就是數(shù)據(jù)的寬度,值就是有幾個(gè)這樣寬度的數(shù)據(jù)。
遍歷數(shù)組每組數(shù)據(jù):
當(dāng)顏色為0時(shí),假設(shè)該組數(shù)據(jù)為6 3 0,則要求的就是其他兩個(gè)顏色中寬度比當(dāng)前寬度大的(因?yàn)殚L度已經(jīng)從小到大排過序),也就是去1,2樹狀數(shù)組中找寬度比當(dāng)前3的寬度大的,就是下標(biāo)大于3的(就是寬度大于三的),就是1,2樹狀數(shù)組中的4到無窮大(就是到N)的和。
將該組數(shù)據(jù)加到對(duì)應(yīng)的樹狀數(shù)組0中去,就是tree0.add(arr[i][1],1)

其他兩種情況同理。
該過程中的樹狀數(shù)組中的很多空間是無效的,但還是通過了。

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;//數(shù)據(jù)信息,一行存儲(chǔ)一個(gè)數(shù)據(jù)項(xiàng)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;//排序,先按照長度升序排序,在按照寬度進(jìn)行升序排序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++) {//將當(dāng)前的節(jié)點(diǎn)加入線段樹中//先求和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);}}//計(jì)算的是原數(shù)組中的 1-i 對(duì)應(yīng)的和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.risenshineclean.com/news/6223.html

相關(guān)文章:

  • 做資訊類網(wǎng)站需要特殊資質(zhì)嗎怎樣推廣app別人才愿意下載
  • 做視頻課程網(wǎng)站免費(fèi)收錄網(wǎng)站推廣
  • 學(xué)校網(wǎng)站策劃書網(wǎng)站之家
  • 蕪湖尚格網(wǎng)絡(luò)科技有限公司北京網(wǎng)站seo招聘
  • wordpress v4.1廣州市口碑seo推廣
  • 小學(xué)教學(xué)活動(dòng)設(shè)計(jì)方案模板桔子seo網(wǎng)
  • 純靜態(tài)網(wǎng)站怎么做社區(qū)推廣方法有哪些
  • 深圳建網(wǎng)站seo中國十大it培訓(xùn)機(jī)構(gòu)排名
  • wordpress調(diào)用指定菜單關(guān)鍵詞排名手機(jī)優(yōu)化軟件
  • 網(wǎng)站制作 北京網(wǎng)站建設(shè)公司seo搜索鋪文章
  • 鄭州網(wǎng)站建設(shè)zhuotop網(wǎng)絡(luò)新聞發(fā)布平臺(tái)發(fā)稿
  • 請(qǐng)舉例說明什么是網(wǎng)絡(luò)營銷seo是做什么工作的
  • 上海seo網(wǎng)站優(yōu)化百度推廣代運(yùn)營
  • 建筑八大員證報(bào)考網(wǎng)站seo排名影響因素主要有
  • wordpress301不能用免費(fèi)網(wǎng)站推廣優(yōu)化
  • 管理咨詢公司有哪些如何網(wǎng)頁優(yōu)化
  • 珠海商城網(wǎng)站制作西安百度首頁優(yōu)化
  • 網(wǎng)站開發(fā)公司網(wǎng)絡(luò)推廣的作用
  • 廣西網(wǎng)站建設(shè)推廣報(bào)價(jià)網(wǎng)絡(luò)營銷軟文范例
  • 盤龍區(qū)網(wǎng)絡(luò)推廣群排名優(yōu)化軟件官網(wǎng)
  • 尋找徐州網(wǎng)站開發(fā)武漢標(biāo)兵seo
  • 做網(wǎng)站做本地服務(wù)器網(wǎng)上怎么注冊(cè)公司免費(fèi)的
  • 環(huán)保網(wǎng)頁設(shè)計(jì)制作流程上海比較大的優(yōu)化公司
  • 周口學(xué)做網(wǎng)站今天的三個(gè)新聞
  • 網(wǎng)站穩(wěn)定期怎么做免費(fèi)注冊(cè)網(wǎng)頁網(wǎng)址
  • wordpress主機(jī)怎樣進(jìn)行seo推廣
  • 給個(gè)網(wǎng)站2022年手機(jī)上能用的數(shù)字化營銷怎么做
  • 淘寶上面的網(wǎng)站建設(shè)是靠譜廈門網(wǎng)站seo外包
  • 個(gè)人博客網(wǎng)站建設(shè)方案軟文營銷的經(jīng)典案例
  • 阿里巴巴網(wǎng)站建設(shè)基礎(chǔ)服務(wù)交換友情鏈接的渠道