Educational Codeforces Round 153 (Rated for Div. 2)ABC

Educational Codeforces Round 153 (Rated for Div. 2)

目錄

  • A. Not a Substring
    • 題目大意
    • 思路
    • 核心代碼
  • B. Fancy Coins
    • 題目大意
    • 思想
    • 核心代碼
  • C. Game on Permutation
    • 題目大意
    • 思想
    • 核心代碼

A. Not a Substring

在這里插入圖片描述

題目大意

給定一個只包含“(”和“)”這兩個符號的字符串s,假設長度為n,返回一個不包含字符串s、長度為2n且滿足運算規則的括號序列(意思就是“(”與“)”按順序相對應)
翻譯:

括號序列是由字符’(‘和/或’)'組成的字符串。常規括號序列是一種可以通過在序列的原始字符之間插入字符“1”和“+”來轉換成正確算術表達式的括號序列。例如:

括號序列“()()”和“(())”是正則序列(它們可以分別轉換為“(1)+(1)”和“(1+1)+1)”);括號序列“)(”、“(”和“)”不是正則序列。
給你一個括號序列s;我們定義它的長度為n。你的任務是找到一個長度為2n的正則括號序列t,使得s不作為連續子串出現在t中,或者報告不存在這樣的序列。

輸入 第一行包含一個整數t(1≤t≤1000)——測試用例的數量。

每個測試用例的唯一一行包含一個字符串s(2≤|s|≤50),由字符“(”和/或“)”組成。

輸出
對于每個測試用例,打印它的答案。如果沒有需要的常規括號序列,則在單獨一行中打印no。否則,在第一行打印YES,在第二行打印所需的常規括號序列t。如果有多個答案-您可以打印其中的任何一個。

思路

簡單構造一下兩種情況:
第一種是類似于“()()()()”
第二種是類似于“(((())))”
稍微判斷一下,一種不行就輸出另外一種,還有一個特殊情況,當s為“()”時無解
特殊判斷輸出即可

核心代碼

void solve()
{string s;cin>>s;int n;n=s.size();if(n==2&&s[0]=='('&&s[1]==')'){printf("NO\n");return ;}bool pd=1;int zhizhen=0;while(s[zhizhen]=='('&&zhizhen<n)zhizhen++;while(s[zhizhen]==')'&&zhizhen<n)zhizhen++;if(zhizhen==n)pd=1;else pd=0;if(pd){cout<<"YES\n";for(int i=0;i<n;++i)cout<<"()";cout<<endl;}else{cout<<"YES\n";for(int i=0;i<n;++i)cout<<"(";for(int i=0;i<n;++i)cout<<")";cout<<endl;}
}

B. Fancy Coins

在這里插入圖片描述

題目大意

一共有兩種硬幣,第一種硬幣價值1,第二種硬幣價值k,現在有第一種a1個,第二種ak個,現在想要湊出價值m,問最少需要額外購買硬幣個數
翻譯:

Monocarp將以m個burles的價格進行購買。

他有兩種硬幣,數量如下:

價值1個泡泡的硬幣:a1枚普通硬幣和無限多的花哨硬幣;價值k個泡泡的硬幣:ak枚普通硬幣和無限多的花哨硬幣。
Monocarp希望以一種沒有變化的方式進行購買——提供的硬幣總價值正好是m。他可以使用普通硬幣和高級硬幣。然而,他想要花費盡可能少的花哨硬幣。

他可以用來購買物品的最小花式硬幣總數是多少?

輸入 第一行包含單個整數t(1≤t≤3?104)—測試用例的數量。

每個測試用例的唯一一行包含四個整數m、k、a1和ak(1≤m≤108;2
k≤≤108;0≤a1,ak≤108)-購買成本,第二種硬幣的價值和兩種硬幣的普通硬幣的數量。

輸出 對于每個測試用例,打印一個整數—Monocarp可以用于購買的花哨硬幣的最小總數。

思想

這道題也有O(1)的做法,但是當時懶得想了,直接二分答案,打表的過程中可以發現購買的硬幣數量是先增加后減少的,可以利用相鄰的兩個值做差尋找最小值

核心代碼

int check(int n)
{int zhi;zhi=max(n-b,0)+max((m-min(m/k,n)*k),a)-a;return zhi;
}
void solve()
{cin>>m>>k>>a>>b;if(a>m||a==m){cout<<"0\n";return;}int left=0,right=1e8+10;while(left<right){int mid=(left+right)>>1;if(check(mid)<check(mid+1))right=mid;else left=mid+1;}cout<<check(left)<<endl;return;
}

C. Game on Permutation

在這里插入圖片描述

題目大意

兩個人 Alice 和 Bob 一起玩游戲,有一個長度為n的1~n的序列,任選一個開始的點,每一次只能選擇左邊一個比自己小的數字進行移動,兩人輪流移動,誰先無法移動或者是移動到最左邊的點為輸
翻譯:

愛麗絲和鮑勃在玩游戲。它們有一個大小為n的排列p(大小為n的排列是一個大小為n的數組其中每個元素從1到n
只發生一次)。它們還有一個芯片,可以放在排列中的任何元素上。

愛麗絲和鮑勃輪流走:愛麗絲走第一步,然后鮑勃走第二步,然后愛麗絲走第三步,以此類推。在第一步中,愛麗絲選擇排列中的任何元素并將籌碼放在該元素上。在接下來的每一次移動中,當前玩家必須將籌碼移動到任何同時在左側且嚴格小于當前元素的元素(即。如果芯片位于第i個元素上,則如果j<i且pj<pi),則芯片可以移動到第j個元素上。如果一個玩家不能移動(根據游戲規則,移動籌碼是不可能的),那么這個玩家就贏了游戲。

假設如果滿足以下條件,排列中的第i個元素是幸運的:

如果Alice在第一步時把籌碼放在第i個元素上,那么不管Bob怎么走,她都能贏。她有一個制勝策略)。 你必須計算這個排列中幸運元素的個數。

輸入 第一行包含一個整數t(1≤t≤104)——測試用例的數量。

每個測試用例的第一行包含單個整數n(1≤n≤3?105),即排列中的元素個數。

第二行包含n個整數p1,p2,…,pn(1≤pi≤n)。所有的都是不同的。

n除以所有測試用例的和不超過3·105。

輸出 對于每個測試用例,打印一個整數——排列中幸運元素的數量。

思想

從左邊往右邊進行遍歷,如果當前的值是目前最小的,那么則個點肯定是不能是幸運點,如果比上一個幸運點的值要小,那么此時這個點就是幸運點。

核心代碼

void solve()
{int n,a;scanf("%d",&n);int minzhi=INT_MAX;bool win=0;int ans=0,winlose=n;for(int i=0;i<n;++i){int shuru;scanf("%d",&shuru);if(minzhi>shuru){minzhi=shuru;win=1;}else{win=(winlose<shuru);}if(!win){ans++;winlose=min(winlose,shuru);}}cout<<ans<<endl;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43153.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43153.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

react-native-webview RN和html雙向通信

rn登錄后得到的token需要傳遞給網頁&#xff0c;js獲取到的瀏覽器信息需要傳遞給rn RN Index.js: import React from react import { WebView } from react-native-webview import useList from ./useListexport default function Index(props) {const { uri, jsCode, webVie…

iPhone刪除的照片能恢復嗎?不小心誤刪了照片怎么找回?

iPhone最近刪除清空了照片還能恢復嗎&#xff1f;大家都知道&#xff0c;照片對于我們來說是承載著美好回憶的一種形式。它記錄著我們的平淡生活&#xff0c;也留住了我們的美好瞬間&#xff0c;具有極其重要的紀念價值。 照片不小心誤刪是一件非常難受的事&#xff0c;那么iP…

android TextView 超出長度使用省略號

在Android中最常見的需求&#xff0c;就是在在外部展示信息時&#xff0c;需要簡要展示內容。TextView僅需在靜態布局文件中設置以下幾個屬性&#xff1a; android:maxWidth“100dp” // 寬度是多少才算超出 android:maxLines"2" // 高度多少才算超出 android:elli…

React下載文件的兩種方式

React下載文件的兩種方式 - 代碼先鋒網 不知道有用沒用看著挺整齊 沒試過 1、GET類型下載 download url > {const eleLink document.createElement(a);eleLink.style.display none;// eleLink.target "_blank"eleLink.href url;// eleLink.href record;d…

Centos7 配置Docker鏡像加速器

docker實戰(一):centos7 yum安裝docker docker實戰(二):基礎命令篇 docker實戰(三):docker網絡模式(超詳細) docker實戰(四):docker架構原理 docker實戰(五):docker鏡像及倉庫配置 docker實戰(六):docker 網絡及數據卷設置 docker實戰(七):docker 性質及版本選擇 認知升…

CentOS系統環境搭建(五)——Centos7安裝maven

centos系統環境搭建專欄&#x1f517;點擊跳轉 Centos7安裝maven 下載壓縮包 maven下載官網 解壓 壓縮包放置到/usr/local tar -xvf apache-maven-3.9.2-bin.tar.gz配置環境變量 vim /etc/profile在最下面追加 MAVEN_HOME/usr/local/apache-maven-3.9.2 export PATH${MAV…

Jenkins 監控dist.zip文件內容發生變化 觸發自動部署

為Jenkins添加plugin http://xx:xx/manage 創建一個任務 構建觸發器 每3分鐘掃描一次&#xff0c;發現指定文件build.zip文件的MD5發生變化后 觸發任務

【C++學習手札】一文帶你認識C++虛繼承??

食用指南&#xff1a;本文在有C基礎的情況下食用更佳 &#x1f340;本文前置知識&#xff1a;C虛函數&#xff08;很重要&#xff0c;內部剖析&#xff09; ??今日夜電波&#xff1a;僕らのつづき—柊優花 1:06 ━━━━━━?&#x1f49f;──────── 3:51 …

創建密碼庫/創建用戶帳戶/更新 Ansible 庫的密鑰/ 配置cron作業

目錄 創建密碼庫 創建用戶帳戶 更新 Ansible 庫的密鑰 配置cron作業 創建密碼庫 按照下方所述&#xff0c;創建一個 Ansible 庫來存儲用戶密碼&#xff1a; 庫名稱為 /home/curtis/ansible/locker.yml 庫中含有兩個變量&#xff0c;名稱如下&#xff1a; pw_developer&#…

神經網絡基礎-神經網絡補充概念-39-梯度消失與梯度爆炸

簡介 梯度消失和梯度爆炸是在深度神經網絡中訓練過程中可能出現的問題&#xff0c;導致模型難以訓練或無法收斂。這些問題與反向傳播算法中的梯度計算有關。 概念 梯度消失&#xff08;Gradient Vanishing&#xff09;&#xff1a;在深層神經網絡中&#xff0c;特別是具有很…

File inclusion

文章目錄 File inclusion(local)File inclusion(remote) File inclusion(local) 隨便選擇一個點擊提交&#xff0c;提交后觀察 url ?filename 我們可以使用相對路徑../../../../../訪問我們想要看到的文件內容 查看windows系統的主機映射文件../../../../Windows/System32/…

ShardingSphere 可觀測 SQL 指標監控

ShardingSphere并不負責如何采集、存儲以及展示應用性能監控的相關數據&#xff0c;而是將SQL解析與SQL執行這兩塊數據分片的最核心的相關信息發送至應用性能監控系統&#xff0c;并交由其處理。 換句話說&#xff0c;ShardingSphere僅負責產生具有價值的數據&#xff0c;并通過…

Go 語言中排序的 3 種方法

原文鏈接&#xff1a; Go 語言中排序的 3 種方法 在寫代碼過程中&#xff0c;排序是經常會遇到的需求&#xff0c;本文會介紹三種常用的方法。 廢話不多說&#xff0c;下面正文開始。 使用標準庫 根據場景直接使用標準庫中的方法&#xff0c;比如&#xff1a; sort.Intsso…

【C++】AVL樹(平衡二叉樹)

目錄 一、AVL樹的定義二、AVL樹的作用三、AVL樹的插入操作插入——平衡因子的更新插入——左單旋插入——右單旋插入——左右雙旋插入——右左雙旋 四、ALVL樹的驗證五、AVL樹的性能 一、AVL樹的定義 AVL樹&#xff0c;全稱 平衡二叉搜索&#xff08;排序&#xff09;樹。 二…

一次Linux圖形化界面恢復

一次Linux 圖形化界面恢復 一次Linux 圖形化界面恢復出現問題場景問題排查 一次Linux 圖形化界面恢復 出現問題場景 使用xmanager遠程連接虛機的CentOS7系統圖形界面出現已拒絕x11轉移申請問題&#xff0c;在折騰X11過程中&#xff0c;安裝與卸載的過程中不小心把xorg-x11-xa…

HCIP的交換機實驗

題目 拓撲圖 PC1/3接口用access 創建WLAN LSW1 創建WLAN [lsw1]vlan batch 2 to 6[lsw1-Ethernet0/0/1]p [lsw1-Ethernet0/0/1]port l [lsw1-Ethernet0/0/1]port link- [lsw1-Ethernet0/0/1]port link-flap [lsw1-Ethernet0/0/1]port link-type acc [lsw1-Ethernet0/0…

kubeasz在線安裝K8S集群單master集群(kubeasz安裝之二)

一、介紹 Kubeasz 是一個基于 Ansible 自動化工具&#xff0c;用于快速部署和管理 Kubernetes 集群的工具。它支持快速部署高可用的 Kubernetes 集群&#xff0c;支持容器化部署&#xff0c;可以方便地擴展集群規模&#xff0c;支持多租戶&#xff0c;提供了強大的監控和日志分…

Bigemap Pro國產基礎軟件介紹——一款多源數據處理軟件

一、軟件簡介 Bigemap Pro是由成都比格圖數據處理有限公司(下稱”BIGEMAP”)開發和發行的國產大數據處理基礎軟件。Bigemap Pro是在BIGEMAP GIS Office基礎上&#xff0c;經過十年的用戶積累與反饋和技術更新迭代出的新一代基礎軟件產品。Bigemap Pro國產基礎軟件集成了數據采…

【Diffusion】李宏毅2023機器學習Diffusion筆記

文章目錄 1 想法概述2 實際過程階段1 Add Noise階段2 Denoise 3 數學原理4 為什么推理時要額外加入noise5 一些不知道對不對的Summary 1 想法概述 從一張充滿噪聲的圖中不斷denoise&#xff0c;最終得到一張clear的圖片。為了確定當前圖片中噪聲占比的大小&#xff0c;同時輸入…

rust踩雷筆記(1)——切片傳參和解引用賦值

最近學習rust&#xff0c;網上資料還是很有限&#xff0c;做題遇到的問題&#xff0c;有時需要自己試驗。把自己做題過程遇到的問題&#xff0c;和試驗的結論&#xff0c;做一些簡單記錄。 閱讀下列文字和代碼 用切片&#xff08;的引用&#xff09;做參數要非常小心&#xff…