2014 網選 上海賽區 hdu 5047 Sawtooth

題意:求n個'M'型的折線將一個平面分成的最多的面數!
思路:我們都知道n條直線將一個平面分成的最多平面數是 An = An-1 + n+1
也就是f(n) = (n*n + n +2)/2
對于一個'M'型的折線呢?它有四條線,但是由于三個頂點的關系導致劃分的平面
的數目減少了9個!所以有遞推公式 f(n) = (m*m + m + 2)/2 - 9*n; m = 4*n

最后 f(n) = (8*n+1)*(n-1)+2)
由于 n<=1e12 , 所以回報 long long!那么對于大于1e9的數我做了大數乘法的處理!

復制代碼
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5  
 6 void fun(int a[], long long b, int &l){//將一個數進行拆分放到數組中! 
 7     while(b){
 8         a[l++] = b%10;
 9         b/=10;
10     }
11 }
12 
13 
14 int a[30], b[30], c[30];
15 int la, lb;
16 
17 void cal(){
18     memset(c, 0, sizeof(c));
19     for(int i=0; i<la; ++i)
20         for(int j=0; j<lb; ++j)
21             c[i+j] += a[i]*b[j];
22     int k=0;    
23     int len = la+lb-1;
24     for(int i=0; i<len; ++i){
25         c[i]+=k;
26         k = c[i]/10;
27         c[i]%=10;
28     }
29     if(k>0) c[len++] = k;
30     k = 2;
31     for(int i=0; i<len; ++i){
32         c[i]+=k;
33         k = c[i]/10;
34         c[i]%=10;
35     }
36     if(k>0) c[len++] = k;
37     
38     for(int i = len-1; i>=0; --i)
39         printf("%d", c[i]);
40     printf("\n");
41 }
42 
43 int main(){
44     long long n;
45     int t, cnt=0;
46     scanf("%d", &t); 
47     while(t--){
48         scanf("%I64d", &n); 
49         printf("Case #%d: ", ++cnt);
50         if(n <= 1e9)
51             printf("%I64d\n", (8*n+1)*(n-1)+2);
52         else{
53             long long x = 8*n+1;
54             long long y = n-1;
55             la=lb=0;
56             fun(a, x, la);
57             fun(b, y, lb);
58             cal();
59         }
60      } 
61     return 0;
62 }
復制代碼









本文轉自 小眼兒 博客園博客,原文鏈接:http://www.cnblogs.com/hujunzheng/p/3997036.html,如需轉載請自行聯系原作者

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

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

相關文章

二、基礎(IVX快速開發手冊)

二、基礎 通過本節你將了解 iVX 所支持應用的創建方法。 文章目錄二、基礎2.1 iVX 線上集成環境進入2.2 創建項目2.3 選擇項目類型2.3.1 WebApp/小程序/原生應用2.3.2 微信小游戲2.3.3 微信小程序&#xff08;原生組件&#xff09;2.1 iVX 線上集成環境進入 點擊 連接 或通過…

【專升本計算機】經典Office 2003專升本復習題(Word、Excel、PowerPoint)

經典Office 2003專升本復習題(Word、Excel、PowerPoint) 一、Word 2003 1. 啟動 Word 是指: 將 Word 從硬盤中調入主存執行 2. 菜單欄: 文件( F )、編輯( E )、視圖( V )、插入( I )、格式( O )、工具( T )、表格( A )、窗口( W )、幫主( H ) 3. …

Android之TabLayout+ViewPager2+FragmentStateAdapter實現帶數字變化的TAB選項

1 問題 TabLayout+ViewPager2實現帶數字變化的TAB選項,然后左邊滑動或者點擊上面的Tab切換fragment不能刷新 2 結果爆照 3 代碼實現 layer_tab_indicator.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="h…

slq2000數據庫升級到sql2012

看到標題&#xff0c;估計有同行笑了&#xff0c;這年代還有用sql2000的&#xff1f;真的有&#xff0c;最近單位服務器數據遷移升級&#xff0c;將數據庫遷移到新服務器后&#xff0c;發現數據全是2000的&#xff0c;無法直接導入到sql2012。沒辦法&#xff0c;只能先將數據庫…

電腦網頁打不開但qq能上解決方法

2019獨角獸企業重金招聘Python工程師標準>>> 問題描述&#xff1a; 電腦網頁打不開但qq能上。 問題原因&#xff1a; 是由于電腦系統的DNS解析出了問題。 解決方法&#xff1a; 首先在鍵盤上同時按下 winR 然后在彈窗中輸入cmd &#xff0c; 再按enter鍵&#xf…

【專升本計算機】計算機權威復習題(基礎知識、操作系統、計算機網絡)

一、計算機基礎知識 1. 第一臺計算機: ENIAC “埃尼阿克”, 1946 年 2 月 14 日 2. 信息社會的基礎是 計算機 、通信、信息的組織與處理,其中前者為核心 4. 計算機的組成: 運算器、控制器、存儲器、輸入設備、輸出設備 5. 隨機存儲器( RAM ): 可讀寫,寫…

基于Linux命令行KVM虛擬機的安裝配置與基本使用

背景由于生產環境的服務器并不會安裝桌面環境&#xff0c;簡單操作的圖形化安裝也不適合批量部署安裝。因此&#xff0c;我還是更傾向于在命令下安裝配置KVM虛擬機。結合了一些資料和個人使用的狀況&#xff0c;我大致列出了一些基本和常用的使用方法。 安裝配置一、環境介紹操…

四、WebApp 基礎可視組件(IVX 快速開發教程)

四、基礎可視組件 通過本節你將了解 iVX 開發中的核心—— iVX 組件的使用方法。iVX 的組件是開發應用時所必要的對象&#xff0c;通過這些對象你將快速的完成應用的開發。 在 iVX 應用開發中&#xff0c;所有交互、動畫、數據都需要以組件為基礎&#xff0c;通過組件之間的編…

Springboot項目搭建(三)整合thymeleaf模板

springboot整合thymeleaf模板 一、POM文件添加依賴 <!--thymeleaf--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><!--nekohtml 解決thymea…

React-引領未來的用戶界面開發框架-讀書筆記(一)

這本書的主要內容都是以react v0.12為主&#xff0c;ES5語法&#xff0c;筆記中將會使用react v0.14和RS6。 第1章 react簡介 1.本質上是一個狀態機&#xff0c;它以精簡的模型管理復雜的隨著時間而變化的狀態。 2.它不是model-view-controller&#xff0c;它是mvc中的v(view)&…

Android之提示This version of Android Studio cannot open this project, please retry with Android Studio

1 問題 編譯項目&#xff0c;錯誤提示如下 This version of Android Studio cannot open this project, please retry with Android Studio 2 解決辦法 很明顯&#xff0c;看英語翻譯也知道&#xff0c;是由于AS版本太低導致&#xff0c;升級AS就可以了。

Netflix 的 API 架構演變歷程

Netflix 以其松耦合和高度可擴展的微服務架構而聞名&#xff0c;Netflix API 的后端架構經歷了 4 個主要階段。&#x1d40c;&#x1d428;&#x1d427;&#x1d428;&#x1d425;&#x1d422;&#x1d42d;&#x1d421; &#x1d40c;&#x1d428;&#x1d427;&#x1d…

五、Web App 基礎可視組件屬性(IVX 快速開發教程)

五、基礎可視組件屬性 在 iVX 中各個組件存在不同的屬性&#xff0c;這些屬性用于設置顯示的樣式或者是自身具備的特征等&#xff0c;通過更改這些屬性可以極大的方便我們進行項目的創作。 大多數組件都擁有相同的屬性&#xff0c;相同屬性在以下內容中不會贅述介紹&#xff…

【專升本計算機】甘肅省專升本考試計算機熱點考點(填空題115道)

甘肅專升本考試計算機填空題熱點考點 1 、自計算機問世至今已經經歷了四個時代,劃分時代的主要依據是計算機的構成元件。 2 、世界上第一臺電子數字計算機采用的邏輯元件是電子管。 3 、早期的計算機體積大、耗能高、速度慢,其主要原因是制約于元器件。 4 、當前的計算機一…

【回溯法】競賽游戲

題目描述 某游戲規則中&#xff0c;甲乙雙方戰斗&#xff0c;每一回合總能分出勝負&#xff0c;游戲規定&#xff1a; 1.失敗的一方要將自己體力值的1/4加給勝利的一方。 2.游戲開始時&#xff0c;甲的體力值是1000&#xff0c;乙的體力值是2000。 3.每一回合&#xff0c;甲乙勝…

zabbix自動發現(Discovery)功能使用

隨著監控主機不斷增多&#xff0c;有的時候需要添加一批機器&#xff0c;特別是剛用zabbix的童鞋 需要將公司的所有服務器添加到zabbix&#xff0c;如果使用傳統辦法去單個添加設備、分組、項目、圖像…..結果應該是讓人吐的結果。 鑒于這個問題我們可以好好利用下Zabbix大…

Apache之三種工作模式和配置性能優化

1 Apache的3種模式和版本 Apache目前一共有三種穩定的MPM&#xff08;Multi-Processing Module&#xff0c;多進程處理模塊&#xff09;模式&#xff0c;它們分別是prefork&#xff0c;worker和event。 我們可以使用httpd -V 命令查看apache的版本和模式&#xff0c;如果你服務…

lsof命令

lsof, LiSt Opened Files, 列出打開的文件, 聽起來很簡單的樣子. 但想*nix中很多其他工具一樣, lsof把這件簡單的事情做到了爐火純青. 因為Unix認為”一切皆文件”, 那么”打開的文件”就不僅僅是傳統意義上打開的文件了, 還可以是網絡/Unix域套接字, 匿名/具名管道, 共享庫文件…

React-引領未來的用戶界面開發框架-讀書筆記(二)

第4章 數據流 由于react的數據流向是單向的&#xff08;其父節點傳遞到子節點&#xff09;&#xff0c; 因此組件是簡單且易于把握的&#xff08;它們只需要從父節點獲取props渲染即可&#xff09; 假如頂層組件的某個prop改變了&#xff0c;react會遞歸地向下遍歷整個組件樹&a…

六、WebApp 二手信息站點頁面制作(IVX 快速開發教程)

六、二手信息站點頁面制作 在了解了基礎可視組件后&#xff0c;我們可以通過這些可視組件進行站點頁面開發&#xff0c;在此以一個二手交易網站站點頁面為例&#xff0c;本教程示例并不是成熟完善的示例&#xff0c;需要各位讀者進行少量完善&#xff0c;示例只是用于功能講解…