❶ noip比賽中用什麼編譯器最好
VC6.0所使用的C語言和標准C是有差別的。。。
所以這種情況並不奇怪
比如
#include
int main()
{
printf("%d\n",max(2,3));
return 0;
}
這個在VC6.0下編譯肯定會出錯的,錯誤是max函數未定義
但是如果你換成cfree,或者在linux下用gcc的話,就會編譯通過。
❷ noip需要准備哪些方面的基礎知識。復賽需要做哪些類型的題目(提高組)
Noip演算法(小超)
以下用n表示圖的點數,m表示邊數,k表示一個常數,log均以2為底數,存儲邊都採用邊表。
【模擬】
高精度加、減、乘,除應該不需要
表達式求值(中綴轉後綴,棧的操作)
【圖論】
圖的表示:鄰接矩陣,鄰接表,邊表
單源最短路:dijkstra(O(n2)),bellman(spfa優化,O(km))
傳遞閉包和floyd
最小生成樹演算法:prim(O(n2)),kruskal(O(m log m))
拓撲排序(O(m))
歐拉路(邊一次)
漢密爾頓迴路(點一次)
強連通分量
匹配演算法(最大匹配,最小點覆蓋,最小路徑覆蓋,最大獨立集)
網路流演算法(最大流dinic,最小費用流spfa)
差分約束系統
【樹】
樹的先序、中序、後序遍歷
樹中的最長路(兩遍bfs)
特殊的樹:二叉樹
樹形動態規劃
並查集
字母樹
【搜索】
深搜,一般需要剪枝,有可行性剪枝和最優性剪枝兩種經常考。還有迭代深搜。
寬搜,雙向廣搜,估價函數。
【動態規劃】
背包問題:01背包,無限背包,多重背包,有依賴的背包,二維費用背包。(參照背包九講)
樹形動態規劃
狀態壓縮的動態規劃
最長不下降子序列
最長公共子序列和最長公共子串
動態規劃的優化(快速冪,改變狀態,優化轉移,單調性,四邊形不等式)
【貪心】
也有一些經典的模型,如取線段的問題,一般從小規模數據找規律,再適當的有一些證明。
【排序】
選擇排序、冒泡排序
快速排序(快排)、堆排序
插入排序
希爾排序
歸並排序
【分治】
二分查找
二分答案(這個好像不是分治)
【串】
串的基本操作
Kmp(字串匹配)
Kmp擴展
AC自動機
【數論】
歐幾里得演算法,最大公約數和最小公倍數
判斷質數(sqrt式與篩法求素數)
進制轉換
同餘定理
中國剩餘定理
概率與期望
歐拉函數
【幾何】
線段相交
凸包(水平序和極角序)
半平面交
【有序表】
順序表、鏈表、塊狀鏈表
線段樹及其基本操作
樹狀數組
平衡樹(sbt、treap、splay)
後綴數組
【其他】
Hash
隨機化演算法
矩形切割(與線段樹的比較)
Lca(最近公共祖先)與rmq(區間最值)
高斯消元
❸ noip中的c語言使用什麼標准
http://www.noi.cn/about/rules/74-noi
根據此,NOI評測使用的C語言編譯器是至少GCC 3.2.2的
http://www.cnblogs.com/emituofo/archive/2012/07/20/2600995.html
http://gcc.gnu.org/news.html
根據這兩個連接,GCC從3.0開始不完全支持C99
綜上,NOIP的C語言應該使用不完全的C99標准(不過不影響大多數C99特性的使用)
❹ windows的pc端編譯器有哪些
Windows的pc端編譯器有:
1) Visual Studio
Windows 下首先推薦大家使用微軟開發的 Visual Studio(簡稱 VS),它是 Windows 下的標准 IDE,實際開發中大家也都在使用。為了適應最新的 Windows 操作系統,微軟每隔一段時間(一般是一兩年)就會對 VS 進行升級。VS 的不同版本以發布年份命名,例如 VS2010 是微軟於 2010 年發布的,VS2017 是微軟於 2017 年發布的。
不過 VS 有點龐大,安裝包有 2~3G,下載不方便,而且會安裝很多暫時用不到的工具,安裝時間在半個小時左右。
對於初學者,我推薦使用 VS2015。最好不用使用 VS2017,有點坑初學者。
2) DevC++
如果你討厭 VS 的復雜性,那麼可以使用 Dev C++。Dev C++ 是一款免費開源的 C/C++ IDE,內嵌GCC編譯器(Linux GCC 編譯器的 Windows 移植版),是 NOI、NOIP等比賽的指定工具。Dev C++ 的優點是體積小(只有幾十兆)、安裝卸載方便、學習成本低,缺點是調試功能弱。
NOI 是National Olympiad in Informatics的縮寫,譯為「全國青少年信息學奧林匹克競賽」;NOIP 是National Olympiad in informatics in Provinces的縮寫,譯為「全國青少年信息學奧林匹克聯賽」。NOI、NOIP 都是奧林匹克競賽的一種,參加者多為高中生,獲獎者將被保送到名牌大學或者得到高考加分資格。
3) Visual C++ 6.0
Visual C++ 6.0(簡稱VC 6.0)是微軟開發的一款經典的 IDE,很多高校都以 VC 6.0 為教學工具來講解C和C++。但VC 6.0是1998年的產品,很古老了,在 Win7、Win8、Win10 下會有各種各樣的兼容性問題,甚至根本不能運行,所以不推薦使用。
VC 6.0 早就該扔進垃圾桶了,可是依然有很多大學把它作為教學工具,並且選用的教材也以 VC 6.0 為基礎來講解C語言和 C++,可見教學體制的極端落後,課程體系的更新遠遠跟不上技術的進步。
4) 其它 IDE
除了上面提到的三款 IDE,Windows 平台下還有很多其他的 IDE,它們各有特點,例如:
Code::Blocks 是一款開源、跨平台、免費的 C/C++ IDE,它和 Dev C++ 非常類似,小巧靈活,易於安裝和卸載,不過它的界面要比 Dev C++ 復雜一些,不如 Dev C++ 來得清爽。
Turbo C 是一款古老的、DOS 年代的C語言開發工具,程序員只能使用鍵盤來操作 Turbo C,不能使用滑鼠,所以非常不方便。但是 Turbo C 集成了一套圖形庫,可以在控制台程序中畫圖,看起來非常炫酷,所以至今仍然有人在使用。
C-Free 是一款國產的 Windows 下的C/C++ IDE,最新版本是 5.0,整個軟體才 14M,非常輕巧,安裝也簡單,界面也比 Dev C++ 漂亮。C-Free 的缺點也是調試功能弱。可惜的是,C-Free 已經多年不更新了,組件都老了,只能在 XP、Win7 下運行,在 Win8、Win10 下可能會存在兼容性問題。
❺ NOIP現場C是用什麼編譯器啊
C 用的是g++
CCF要求windows平台使用dev-c++