C++筆試強訓day32

目錄

1.素數回文

2.活動安排

3.合唱團


1.素數回文

鏈接icon-default.png?t=N7T8https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f?tpId=290&tqId=39945&ru=/exam/oj

現將其轉化為回文數(這里用字符串存儲比較方便轉化),然后判斷是否為素數即可。

stoi函數一定要自己寫,庫里面的stoi不支持大數據轉化,會越界

#include <iostream>
using namespace std;
#define int long long
bool Check(int x)
{if (x < 2)return false;for (int i = 2; i * i <= x; ++i)if (x % i == 0)return false;return true;
}int my_stoi(string s)
{int sum = 0;for (int i = s.size() - 1; i >= 0; --i)sum = sum * 10 + (s[i] - '0');return sum;
}signed main() {string s;cin >> s;int n = s.size();for (int i = n - 2; i >= 0; --i)s += s[i];int tmp = my_stoi(s);if (Check(tmp))cout << "prime" << endl;elsecout << "noprime" << endl;return 0;
}

2.活動安排

鏈接icon-default.png?t=N7T8https://www.nowcoder.com/practice/16d971e9e42e4f3b9b1e2b8794796a43?tpId=308&tqId=40488&ru=/exam/oj

做一個簡單的規劃即可:

end存儲為目前多久結束活動。

先將活動的開始時間進行排序

然后若 i 的開始時間小于 end,則更新end = min(end,i的結束時間),{取最小值的原因是貪心(要選擇盡可能多的活動數量)}

若 i 的開始時間大于或等于 end,直接讓活動數 +1。

#include <iostream>
#include <utility>
#include <algorithm>
using namespace std;typedef pair<int, int> PII;
const int N = 2e5 + 10;
int n;
PII a[N];int main() {cin >> n;for (int i = 0; i < n; ++i)cin >> a[i].first >> a[i].second;sort(a, a + n);int ret = 1;int end = a[0].second;for (int i = 1; i < n; ++i){if (a[i].first < end){end = min(end, a[i].second);}else{ret++;end = a[i].second;}}cout << ret << endl;return 0;
}

3.合唱團

鏈接icon-default.png?t=N7T8https://www.nowcoder.com/practice/661c49118ca241909add3a11c96408c8?tpId=122&tqId=33652&ru=/exam/oj

一個巨型復雜的dp問題:

若搞清楚了該題的狀態表示,還是可以做一下題目的。

因為狀態表示是最后一個人必須,所以我們選取返回值時,需要遍歷一遍從 k 到 n

很細節的一個地方是他的初始化,因為你不確定有沒有負數,若是默認初始化(0),則會導致一個全為負數的數組中返回 0 ,這樣是答案錯誤。

因此我們可以邊填表邊初始化。

初始化為最小和最大:

#include <iostream>
using namespace std;
#define int long longconst int N = 55, M = 15;
int f[N][M];
int g[N][M];
int a[N];
int n, k, d;signed main() {cin >> n;for(int i = 1; i <= n; ++i)cin >> a[i];cin >> k >> d;for(int i = 1; i <= n; ++i){f[i][1] = g[i][1] = a[i];for(int j = 2; j <= min(i, k); ++j){f[i][j] = -0x3f3f3f3f3f3f3f3f;g[i][j] = 0x3f3f3f3f3f3f3f3f;for(int prev = max(i - d, j - 1); prev <= i - 1; ++prev){f[i][j] = max(max(f[prev][j - 1] * a[i], g[prev][j - 1] * a[i]),f[i][j]);g[i][j] = min(min(f[prev][j - 1] * a[i], g[prev][j - 1] * a[i]),g[i][j]);               }}}int ret = -0x3f3f3f3f3f3f3f3f;for(int i = k; i <= n; ++i)ret = max(ret, f[i][k]);cout << ret << endl;return 0;
}

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

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

相關文章

Ubuntu安裝IPOPT和Casadi

1.IPOPT安裝 1.1安裝所需功能包 sudo apt-get install cppad sudo apt-get install gcc g gfortran subversion patch wget1.2下載最新源代碼3.14 https://www.coin-or.org/download/source/Ipopt/1.3解壓進入IPOPT安裝包&#xff0c;下載ASL git clone https://github.com/…

python項目中的__pycache__有什么作用?

在 Python 項目中&#xff0c;目錄 __pycache__ 通常用于存儲已編譯的字節碼文件。這些文件是 Python 解釋器在導入模塊時生成的&#xff0c;以加快后續的模塊加載速度。 具體內容 __pycache__ 目錄中的文件是以 .pyc 擴展名結尾的字節碼文件。文件名通常會包含原始 Python 源…

【FPGA】VGA顯示文字、彩條、圖片——基于DE2-115

文章目錄 前言一、VGA概述1.1 簡述1.2 管腳定義1.3 VGA顯示原理1.4 VGA時序標準1.5 VGA 顯示模式及相關參數 二、VGA顯示自定義的漢字字符2.1 點陣漢字生成2.2 生成BMP文件2.3 生成txt文件2.4 實現效果 三、VGA顯示條紋3.1 實現流程3.2 實現效果 四、VGA輸出一幅彩色圖像4.1 bm…

ArcGIS不同圖斑設置不同的透明度

對于設置一個圖層的整體的透明度&#xff0c;我們在 ArcGIS制作帶蒙版的遙感影像地圖http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…

Unity面試八股文之基礎篇

文章目錄 前言1. Unity的生命周期加載第一個場景Editor在第一次幀更新之前幀之間更新順序協程銷毀對象時退出時 2. Unity 協程和線程,進程的區別3. 本地坐標系 世界坐標系4. 碰撞器和觸發器的區別后話 前言 開設這個欄目的博文會寫一些有關unity的面試題目&#xff0c;在面試的…

如何做好軟件項目的溝通管理

如何做好軟件項目的溝通管理 軟件項目的溝通管理是確保項目信息在團隊成員、利益相關者和相關群體之間有效流通的過程。良好的溝通是項目成功的關鍵&#xff0c;在項目開始時&#xff0c;需要制定詳細的溝通計劃&#xff0c;包括溝通的目的、對象、內容、頻率和渠道等信息。 …

【spring】@ResponseBody注解學習

ResponseBody介紹 ResponseBody 是一個Spring框架中的注解&#xff0c;主要用于Web開發&#xff0c;特別是在Spring MVC框架中。它的核心作用是改變Spring MVC處理HTTP請求響應的行為&#xff0c;使得從控制器方法返回的數據直接寫入HTTP響應體&#xff08;Response Body&…

Python面試寶典:Python中與網絡協議基礎和socket編程相關的知識和面試筆試題(1000加面試筆試題助你輕松捕獲大廠Offer)

Python面試寶典:1000加python面試題助你輕松捕獲大廠Offer【第二部分:Python高級特性:第十四章:網絡編程:第一節:網絡協議基礎和socket編程】 第十四章:并發編程第一節:網絡協議基礎和socket編程網絡協議基礎Socket編程創建SocketTCP服務器TCP客戶端數據傳輸關閉Socket…

Python高級進階--slice切片

slice切片?? 在 Python 中&#xff0c;切片操作是一種常見且方便的方式&#xff0c;用于從字符串、列表或元組中獲取部分元素。這種操作通過指定起始索引、結束索引和步長來實現。下面我們來看一些關于切片的簡單介紹以及一些常見用法。 1. 切片簡介 取一個str、list、tup…

【Unity2D:Animator】為角色添加動畫效果

一、添加Animator組件并創建Animator Controller文件 1. 添加Animator組件&#xff1a; 2. 在Assets-Art文件夾中新建一個名為Animations的文件夾&#xff0c;用來存儲所有動畫資源 3. 在Animations文件夾中新建一個名為Player的文件夾&#xff0c;再創建一個名為Animators的文…

LeetCode //C - 119. Pascal‘s Triangle II

119. Pascal’s Triangle II Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown: Example 1: Input: rowIndex 3 Output: …

vue項目移動端商場

一、項目前端頁面展示 二、項目整體目錄結構 三、項目流程 1. vue快速創建基礎項目 創建項目 vue create hk-shop 1 選擇需要的配置 創建基礎文件夾目錄 src文件夾下文件夾目錄&#xff1a; ① views 文件夾存放界面 ② components 文件夾存放界面中局部組件 ③ config 文件夾存…

【排序算法】——歸并排序(遞歸與非遞歸)含動圖

制作不易&#xff0c;三連支持一下吧&#xff01;&#xff01;&#xff01; 文章目錄 前言一.歸并排序遞歸方法實現二.歸并排序非遞歸方法實現 前言 這篇博客我們將介紹歸并排序的原理和實現過程。 一、歸并排序遞歸方法實現 基本思想&#xff1a; 歸并排序&#xff08;MERGE-…

JS(ES_6)_2

1.創建對象的6種方式&#xff1a; 1. obnew Object() ob.nameah ob.age18 2. ob{name:ah,gae:18} 3.工廠模式&#xff1a; 設計一個函數&#xff0c;專門生產Person類型的對象 <script>function createPerson(name,age,family) {var o new Object();o.name name;o.…

軟件設計師備考 | 案例專題之數據流圖 概念與例題

案例分析專題大綱&#xff1a; 數據流圖基本概念 基本圖形元素&#xff1a;外部實體、加工、數據存儲、數據流 數據流&#xff1a;由一組固定成分的數據組成&#xff0c;表示數據的流向。在DFD中&#xff0c;數據流的流向必須經過加工。加工&#xff1a;描述了輸入數據流到輸出…

啊哈!算法-第2章-棧、隊列、鏈表

啊哈!算法-第2章-棧、隊列、鏈表 第1節 解密qq號——隊列第2節 解密回文——棧第3節 紙牌游戲——小貓釣魚第4節 鏈表第5節 模擬鏈表 第1節 解密qq號——隊列 新學期開始了&#xff0c;小哈是小哼的新同桌(小哈是個大帥哥哦~)&#xff0c;小哼向小哈詢問 QQ 號&#xff0c; 小…

算法提高之線段樹

算法提高之線段樹 存儲方式 線段樹除了最后一層葉子節點以外是一個滿二叉樹類似堆的形式 因此可以用堆來存儲線段樹同時注意到 數組是可以模擬堆的 因此我們可以用一位數組來存儲線段樹 節點編號為u&#xff0c;對應左子樹編號為2 * u&#xff0c;右子樹編號為2 * u 1裝逼一…

C++ 學習 指針上

&#x1f64b; 繼續C Primer 第五版的學習 注 后面還會有關于指針進一步的學習 本篇為基礎篇 &#x1f33f;可以先看看這兩篇 或許可以進一步加深一下對指針的理解 指針和數組 指針簡介 &#x1f308; 上一次講了 C中的引用&#xff0c;現在總結一下指針和引用的主要區別。 …

uniapp微信小程序解決open-type獲取用戶頭像,返回臨時路徑問題!

解決 open-type 為 chooseAvatar&#xff0c;返回臨時路徑問題 文章目錄 解決 open-type 為 chooseAvatar&#xff0c;返回臨時路徑問題效果圖Demo獲取頭像回調數據結構效果圖解決方式上傳到服務器轉base64 基于微信小程序獲取頭像昵稱規則調整后&#xff0c;當小程序需要讓用戶…

深入了解FreeRTOS:實時操作系統的核心概念和應用

前言&#xff1a; 在當今數字化世界中&#xff0c;嵌入式系統扮演著至關重要的角色&#xff0c;從工業自動化到智能設備&#xff0c;無所不在。而實時操作系統&#xff08;RTOS&#xff09;則是這些系統的核心引擎&#xff0c;它們負責管理任務、資源和時間&#xff0c;確保系統…