原创 codeforces 343D - Water Tree

這題卡了我兩天了,最後受不了,還是看了網上的題解。 一開始我是用兩棵線段樹來維護各個節點更新操作的時間。 一棵是記錄dfs節點u的到它的最遠子節點區間用來更新操作1,另一棵是樹鏈剖分記錄節點u到根節點的路徑用來更新操作2。TLE了。。。。

原创 網絡賽 Instrusive (HDU-5040)

這道題怎麼讀都不對勁。 管理員的英語應該是語文老師教的。。。都不知道回答的是什麼。 題目的大概意思是,在一個n*n的圖上,有一些點上有攝影機,初始狀態各個攝影機都有一個初始方向,之後每秒順時針轉動90度。 matt有三種移動策略,1是靜

原创 OpenCV&Qt學習之一——打開圖片文件並顯示

____轉自http://emouse.cnblogs.com 摸索了一段時間了,期間雜七雜八幹了很多零活,花在這上面的時間不是太多,現在回頭把資料簡單整理。 OpenCV和Qt學習在入門階段最大的困惑時版本不統一所帶來的影響,Qt稍微

原创 codeforces 242E - XOR on Segment

這種形式的題還是不熟悉。 對於十進制數的異或運算不滿足分配率,因而無法直接記錄區間和。 記錄[l, r]區間各個二進制位上1的數目,而各個二進制位上1的數目小於或等於r - l + 1(由於ai<10000000 < 1<<20 = 10

原创 網絡賽 Saving Tang Monk(HDU 5025)

還是見的題太少了。 思路跟杭電1253基本一樣的,就是多了一個權值會改變的點。 用個三維數組來記錄每層走過的路徑(這是一直卡我的地方,沒寫過這種姿勢)。 這種思想相當於複製了幾份原圖,每一個編號的鑰匙對應一層圖, 這樣就可以確保同一層不能

原创 codeforces plant 矩陣快速冪

剛開始看錯題了,以爲是外構造的,後來才發現是內構造的。 一個正向三角形在下一步會產生3個正向和1個反向的三角形。 一個反向三角形在下一步會產生3個反向和1個正向的三角形。 遞推方程:x1 = 3 * x1 + x2; (正向三角形個數)

原创 codeforces 295A - Greg and Array

對操作進行離線。 統計完各個操作次數之後再進行操作。 時間複雜度O(nlog(n)). #include <cstdio> #include <cstring> #include <algorithm> #include <queue>

原创 2014網絡賽第一場 Untrusted Patrol ZOJ-3811

染色標記。 判斷是否是邊通圖,如果不是,則答案爲No。 對第一個傳感器能到達的非傳感器的點全部染色。 對剩下的點進行查找和染色,如果找不到之前已經染色的點,則答案爲No. 時間複雜度爲O(e)。 #include <cstdio> #in

原创 hdu 5044 tree 樹鏈部分

一直都沒有判斷只有一個點的情況,一直wa呀。 這道題卡得太厲害了,g++T, c++RE, 要手動擴棧。 開始用線段樹來更新的,T了之後,想想只有一次查詢,就用不着線段樹了,直接數組標記。 #pragma comment(linker,

原创 Q_OBJECT的一些注意事項

今天被 Qt的一個編譯錯誤弄得心煩透了。原來我想寫如下結構的代碼。 #include <iostream> #include <QtCore> #include <QApplication> using namespace std; c

原创 g++ opencv編譯方法

 g++ `pkg-config opencv --libs --cflags opencv` main.cpp

原创 latex 中文支持

\documentclass[a4paper,12pt]{article} \usepackage{CJKutf8} \begin{document} \begin{CJK*}{UTF8}{gbsn} 你好! \end{CJK*} \en

原创 QuickSort and HeapSort

快速排序在隨機數據表現比現較堆排好。 雖說堆排和快排都是nlog(n)級的,數據比較,堆排的常數是快排的2.5倍。 在非隨機數據下,快排的就沒有什麼優勢了,特別是全一樣的數時,達到了n^2的上限 #include <iostream>

原创 codeforces 337C-quiz 貪心加矩陣快速冪

要保證最小次數翻倍,那麼就應該連續做對k-1道題然後錯一道。 如果一定存在要翻倍,那麼翻倍的基數要儘可能小。 對於翻倍的遞推方程有:x = 2 * x + k; 構造結果矩陣ans = {k, 1, 0, 0};遞推矩陣爲 ma = {2

原创 codeforces 461B Appleman and Tree

題目大意爲: 給你一棵樹,其中結點的值不是1就是0,你可以切斷一些邊,得到一些每棵子樹中有且只有1個結點的值爲1。 思路: 對於鏈10001,可知劃分數與兩個1之間的0的個數有關。 因而我們要把樹劃成鏈。 #include <c