矩形的個數(long long)
/* * 程式的版權和版本宣告部分: * Copyright (c) 2013,鄭州大學SIAS國際學院 * 作 者: 王 傑 * 完成日期:2014 年 1 月 11 日 * * 對任務及求解方法的描述部分: * 輸入描述: 略或見註釋、總結 * 問題描述: 略或見註釋、總結 * 程式輸出: 略或見註釋、總結 * 問題分析: 略或見註釋、總結 * 演算法設計: 略或見註釋、總結 */ #include<stdio.h> int main() { int a,b,count; while(scanf("%d%d",&a,&b)!=EOF){ count=0; for(int i=0;i<a;i++) for(int j=0;j<b;j++){ count+=(a-i)*(b-j); } printf("%d\n",count); } return 0; }
執行結果:錯誤!原因:count的值越界
改進:採用long long,如:
#include<stdio.h> int main() { long long a,b,count,i,j; while(scanf("%lld%lld",&a,&b)!=EOF){ count=0; for(i=0;i<a;i++) for(j=0;j<b;j++){ count+=(a-i)*(b-j); } printf("%lld\n",count); } return 0; }
執行結果:顯示非法(本人用的是VC++6.0)
換code::blocks: 執行結果:
總結:對於算術型的結果,一定要考慮最終結果的範圍。還有不同的型別不同的編譯器不同的支援,如long longVC++6.0就不支援,但是code::blocks就支援
但是這並沒有結束,因為程式太慢了,在OJ上提交顯示超時
再改進:引用公式 count=a*(a+1)/2 * b*(b+1)/2
總結:一波三折!先是結果可能越界,然後為了解決越界問題,就用long long,接著又是編譯器不支援,就換編譯器,然後結果對了,但是在OJ上提交的時候又是超時,最後改進演算法,由原來的一步一步計算變為公式計算,不得不說,數學公式有時候的威力真大很大啊!!
今天是2014年第一次發博文,好久沒發博文了,也好久沒有做題了,有點生疏了。再有四個月就要比賽了,加油吧!現在寒訓,好好的利用這些時間補補學學,下學期開學後好好學習,現在才是剛開始,雖然有點難,但是一定要往前走,不能停,只要堅持就有希望!! 要學會提高效率!! 花費時間固然重要,但效率更重要!沒有效率盲目的花費時間學習,那都是在浪費時間,不是花費!是浪費!!
相關推薦
矩形的個數(long long)
/* * 程式的版權和版本宣告部分: * Copyright (c) 2013,鄭州大學SIAS國際學院 * 作 者: 王 傑 * 完成日期:2014 年 1 月 11 日 * * 對任務及求解方法的描述部分: * 輸入描述: 略或見註釋、
HashMap簡單實現詢問long long範圍內資料出現的個數
題意:給出n個long long範圍內的數,以及q個詢問,每次詢問x 輸出數x出現的次數 思路:將每個數取模%MOD,用鄰接表儲存資料,當前節點儲存的是一個key的值v,以及v出現的次數,和與它取mod相等的上一個數 程式碼:#include <iostream
POJ 2429 long long 質因數分解
cst factor pro calc can 返回 a + b names 素數 GCD & LCM Inverse Time Limit: 2000MS Memory Limit: 65536K Total Submissio
__int64與long long、long的區別
ini operator 一個 version 隱式轉換 sca char ann 擴展 首先聲明轉自 http://www.cnblogs.com/ChenDinghao/p/6480937.html 首先來看一看int、long、long long的取值範圍 int
int ,long long等範圍
範圍 bsp nbsp sig 最小 int long long 最小值 最大值 unsigned int 0~4294967295 int -2147483648~2147483647 unsigned long 0~4294967295long -2
int、long、long long取值範圍
family lin line ng- sig color long long tom p s unsigned int 0~4294967295 int -2147483648~2147483647 unsigned long 0~4294967295
Long Long Message POJ - 2774
ide ostream 符號 http poj mes get names class Long Long Message POJ - 2774 題意:求兩個串的最長公共字串。 用特殊符號連接兩個字符串,後綴數組。 枚舉height,如果sa[i]和sa[i-1]分別屬
牛客練習賽7 E 珂朵莉的數列(樹狀數組+爆long long解決方法)
src main stdin scanf return n) can print con https://www.nowcoder.com/acm/contest/38/E 題意: 思路: 樹狀數組維護。從大佬那裏學習了如何處理爆long long的方法
【POJ2774】Long Long Message(後綴數組)
火車票 字符串 cat ios swa char 們的 same getc 【POJ2774】Long Long Message(後綴數組) 題面 Vjudge Description Little cat在Byterland的首都讀物理專業。這些天他收到了一條悲傷地信息:
[POJ2774]Long Long Message
long esp cstring poj2774 href line 子串 class max vjudge 一句話題意 給兩個串,求最長公共子串。 sol 把兩個串接在一起求後綴數組。其實中間最好用一個沒有出現過的字符連接起來。 判斷如果\(SA[i]\)和\(SA[i-
POJ.2774.Long Long Message(後綴數組 倍增)
前綴 中間 題目 std str 後綴 string pri -m 題目鏈接 \(Description\) 求兩個字符串最長公共子串 \(Solution\) 任何一個子串一定是某個後綴的前綴 可以將兩個字符串拼在一起,中間用一個從未出現過的字符隔開,這樣ht[]的最大值
快速冪取模(當數很大時,相乘long long也會超出的解決辦法)
結合 超出 但是 long 數字 也會 連續 return result 當幾個數連續乘最後取模時,可以將每個數字先取模,最後再取模,即%對於*具有結合律。但是如果當用來取模的數本身就很大,采取上述方法就不行了。這個時候可以借鑒快速冪取模的方法,來達到大數相乘取模的效果。
long long 的輸入輸出問題
src alt -i 圖片 輸出 long blog 技術分享 www 參考博客:https://www.byvoid.com/zhs/blog/c-int64 long long 的輸入輸出問題
[POJ 2774]Long Long Message
math subset printf += get() std http namespace des Description 題庫鏈接 給定兩個字符串 \(A\) 和 \(B\) ,求最長公共子串。 \(1\leq |A|,|B|\leq 100000\) Solution
csu oj 1343 Long Long
來看 ont 開始 描述 color 個數 sample nbsp for循環 Description 現在有兩個單調遞增序列,第一個序列有N個整數,第二個序列有M個整數,現在你可以從第一個序列中選一個數x,然後從第二個序列中選一個數y,那麽有多少種情況滿足x+y
(又FST在long long!!)Codeforces Round #293 (Div. 2)C. Anya and Smartphone
我的天,又FST在 long long piapiapia 扇死 題意:(我研究了半天才看懂) 第一行輸入應用總數 n ,要一次開啟應用的總數 ,每個螢幕最多的應用數。 第二行按位子(1~n)順序輸入應用的編號; 第三行輸入要依次開啟的應用。 問我們要求需
152_關於int、short int、long int、long long 的區別
關於int、short int、long int、long long 的區別 2016年04月18日 18:31:12 閱讀數:11170 標籤: C++int 更多 個人分類: C++ 版權宣告:本文為博主原創文章,未經博主允許不得轉載
要時刻注意 long long
long long是一個神奇的東西,它會伴隨你的整個OI生涯。(用Python肯定不會有這事)無論你有多強,你都要注意long long。即使你去考NOI,你還是得注意。 在今天的模擬賽中,我又一次得到了慘痛的教訓。原本T1的標算因沒開long long,變成了50分。我從rank10->
long long 範圍
unsigned int 0~4294967295 (10位數,4e9) int  
c語言long和long long的取值範圍
溢位和取值範圍 C語言的整型溢位問題 整數溢位 int、long int 、long long int 佔用位元組 《C和指標》中寫過:long與int:標準只規定long不小於int的長度,int不小於short的長度。 double與int型別的儲存機制不同