原创 SDNU 1094
Description There is an analog clock with two hands: anhour hand and a minute hand. The two hands form an angle. The an
原创 圖的基本算法(BFS和DFS)
一篇很不錯的BFS 和 DFS的文章。 圖是一種靈活的數據結構,一般作爲一種模型用來定義對象之間的關係或聯繫。對象由頂點(V)表示,而對象之間的關係或者關聯則通過圖的邊(E)來表示。 圖可以分爲有向圖和無向圖,一般用G=(V,
原创 sdnu1099
#include <iostream> #include <set> #include <string> using namespace std; int main() { set<string> str1;
原创 HDU 1116 Play on Words
本來以爲這個題就是簡單的並查集,但如果只用並查集的話就沒辦法解決重複輸入的問題,於是百度,發現了這個:歐拉路!!! 安利一個博客:http://blog.csdn.net/niushuai666/article/details/69177
原创 num++和++num在逗號表達式中的計算順序
先來看一道題: 若有int num = 7, sum = 7;則計算表達式sum = num++, sum++, ++num後sum的值爲__ (A)7 (B)8 (C)9 (D)10 答案爲:B 對於此題網上有這
原创 vj作業
B - Fractions Again?! It is easy to see that for every fraction in the form 1k(k > 0), we can always find t
原创 sdnu 1080
Description Input Output 由cosx計算tan2x 一行內兩個整數 a b 以樣例所示形式輸出tan2x
原创 HDU 2087 剪花布條
KMP水題: 一塊花布條,裏面有些圖案,另有一塊直接可用的小飾條,裏面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中儘可能剪出幾塊小飾條來呢? Input 輸入中含有一些數據,分別是成對出現的花布條和小飾條,其布條都是用
原创 POJ 3264
很簡單的線段樹題。上代碼:#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const i
原创 HDU1166 敵兵佈陣(最簡單的線段樹)
線段樹通用的幾個函數:build()(建樹)、pushup()(更新父節點)、pushdown()(用到lazy標記時使用)其他的單點更新、區間更新以及返回區間值等等,其內部代碼原理都是差不多的。AC代碼:#include <iostre
原创 簡單搜索 Find The Multiple
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains
原创 JAVA大數逆序
最近看了很多java大數的博客,基礎的東西很多大牛都寫過了,我就補一點逆序的小方法。import java.util.*; import java.math.*; public class Main{ public static voi
原创 簡單搜索 棋盤問題
在一個給定形狀的棋盤(形狀可能是不規則的)上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請編程求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案C。輸入 輸入含有多組測試數據。 每組數據
原创 關於擴展歐幾里得算法
歐幾里得算法:用來求最小公倍數的一個簡單的遞歸函數。擴展歐幾里得算法:用來求ax+by = gcd(a,b)(爲什麼是gcd(a,b),我們後面會講)這個式子中x和y的一對整數解(不是唯一,還有其他的xy解)。例如:6x+15y=3,這裏
原创 大數組合--盧卡斯定理
組合數我們用Cxx來表示,一切盡在代碼中。。。簡單說就是一行代碼來回搗鼓:lucas(n, m)%p = lucas(n/p, m/p)*C(n%p, m%p)%p/* 這個是幹啥用的呢,有這麼一類題,讓你求個C54,呵呵簡單