hdu4630&多校3之1010

樹狀數組g++提交#include<iostream>#include<iomanip>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<climits>#define maxn 50005using namespace std;int n,m;int a[maxn]

HDU OJ 3127 WHUgirls【DP之背包】

原題串連:http://acm.hdu.edu.cn/showproblem.php?pid=3127題意:給一個矩形長xi,寬yi,給出n個小矩形的長,寬,以及這種小矩形的val,把大矩形分成若干個小矩形,求的最大的val思路:首先是個 完全背包,然後 是個二維費用背包(長 和

HDU OJ 3306 The Number of set【狀態壓縮】

題目串連:http://acm.hdu.edu.cn/showproblem.php?pid=3006思路:二進位,位元運算|,來標記狀態。比如一個集合裡面出現了 2  、4、 6 ,那就用位元101010 = (十進位) 2+8+32=42 ,來記錄該集合出現過!!,由於m值 <= 14,所以最多有 1<<14 個狀態,用這些二進位之間 |

hdu1166簡單線段樹

題意是初始化炮兵人數,然後對其進行一系列修改,最後查詢區間人數和 用一般數組做會逾時,改用線段樹#include <iostream>#include <cstdio>#include <cstring>using namespace std;int num[50050];class tree{public:    int l,r,data;                                //data存每棵樹區間內的人數}tree[150050

HDU4633&多校41002

polya定理的應用/****************************************4大類置換,共24種:設每一面從下到上,從左至右依次為123456789,每一面有標號從,比如說上面的九個點為11 12 13 14 15 16 17 18 191.不做任何旋轉:(54 + 12 + 8)=742.繞相對面中心的軸轉 (1) 90度(15 + 3 + 2) * 3 左右前後的面在變化,迴圈節為4,比如說21-31-41-51-21,總共有9個;

矩陣經典操作(1)

關於矩陣的經典操作1,那就是座標的變換通過二維空間或者三維空間,給定n個點,m

矩陣經典操作(2)

關於矩陣經典操作(2)只要是關於矩陣求冪或者求前K次方的和這些題目一般題目會給定矩陣,這屬於模板題,比較簡單關於整數快速冪,在數論裡有一個比較快速的演算法,矩陣的快速冪和這個差不多,有異曲同工的意思,都是二分的思想整數快速冪:long long power(long long a,long long b){ long long ans=1; while(b) { if(b&1) { ans=ans*a%m;

[HDU 2544]最短路[Dijkstra]

裸的最短路.#include <cstring>#include <cstdio>#include <vector>using namespace std;const int INF = 0x3f3f3f3f;const int MAXN = 105;typedef struct node{ int v,w; node(){} node(int _v, int _w):v(_v),w(_w){}}node;vector<node>

[HDU 1317]XYZZY[SPFA變形][最長路]

題意:一個圖, 點權代表走到該點可獲得的能量值. 可正可負. 一個人從1 號出發,帶有100點能量. 問是否有一種方案可使人在能量值>0的時候走到n.思路:這個題首先要注意點權. 其實就是這點的所有入邊的邊權都等於這點的點權.要找長路, 而非最短路. 但是可以藉助最短路的演算法SPFA求.最短路的演算法SFPA主要是 隊列 + 鬆弛鬆弛操作直接關係到我們運行演算法的目的----求最短路如果與該點相鄰的下一個點到源的距離可以因為通過該點中轉而縮短 ,則更新此下一個點到源的最短距離,

[HDU 1535]Invitation Cards[SPFA反向思維]

題意: (歐洲人自己寫的題面就是不一樣啊...各種吐槽...果斷還是看暈了)有向圖, 有個源叫CCS, 求從CCS到其他所有點的最短路之和, 以及從其他所有點到CCS的最短路之和.思路:返回的時候是多個源,但是因為終點只有一個,所以把所有邊反向之後, 再SPFA一次源即可.#include<cstdio>#include<vector>#include<queue>const int MAXN=1000000+10;typedef long long

hdu4612&多校2之1002

/**題目大意:給你一個無向連通圖,問加上一條邊後得到的圖的最少的割邊數;演算法思想:圖的邊雙連通Tarjan演算法+樹形DP;即通過Tarjan演算法對邊雙連通縮圖,構成一棵樹,然後用樹形DP求最長鏈,串連首尾即可;剩下的連通塊即為所求答案;演算法思路:對圖深度優先搜尋,定義DFN(u)為u在搜尋樹中被遍曆到的序號;定義Low(u)為u或u的子樹中能通過非父子邊追溯到的最早的節點,即DFN序號最小的節點;則有:Low(u)=Min{ DFN(u),

[poj 2978]Colored Stones[狀態壓縮DP]

題意:給出n個石子,一共m種顏色.問最少去掉幾個石子使得同種顏色全連續.思路見注釋.#include <algorithm>#include <cstdio>#include <cstring>using namespace std;const int kMAX=105;/// dp[x][y][z],x指的是[到達第x個石子,包含(意思是參與討論,並不是說一定留下)第x個石子]的情況下,顏色組合為y(每種顏色佔一位),///

[CF 295A]Grag and Array[差分數列]

題意:有數列a[ ]; 操作op[ ] = { l, r, d }; 詢問q[ ] = { x, y };動作表示對a的[ l, r ] 區間上每個數增加d; 詢問表示執行[ x, y ]之間的op.列印最終數列.思路:用兩次差分數列, 先處理出對於每個op調用了幾次, 再對數列執行操作.#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int

HDU 2458 Kindergarten【二分圖之反建邊】

原題串連:http://acm.hdu.edu.cn/showproblem.php?pid=2458題意:…………思路:反鍵邊求最小點集覆蓋key,boys+girls-key 就是答案。根據題意:反建邊後,每條邊代表的是該男孩和該女孩不認識,求的最小點集,把這些點去掉後即所有反建的邊被去掉,則剩餘的就是男女之間都相互認識。。AC代碼:#include<iostream>#include<cstdio>#include<cstring>using

HDU OJ 2255 奔小康賺大錢【KM模版】

原題串連::http://acm.hdu.edu.cn/showproblem.php?pid=2255代碼:#include<stdio.h>#include<cstring>#include<algorithm>#include<iostream>using namespace std;const int maxn = 305;const int INF = 2147483647;int w[maxn][maxn];int lx[maxn],

HDU OJ 4185 Oil Skimming【二分圖之黑白染色】

原題串連:http://acm.hdu.edu.cn/showproblem.php?pid=4185題意:題目描述的很垃圾。。簡化一下,看題中的圖,求最多有多少對#,(相鄰的兩個是一對)代碼:#include<cstdio>#include<cstring>#include<queue>#include<vector>#include<cmath>#include<map>#include<iostream>#

NYOJ 613 免費餡餅【DP】

原題連結:http://acm.nyist.net/JudgeOnline/problem.php?pid=613AC代碼:#include<stdio.h>#include<stdlib.h>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int Max = 100000 +10;int dp[Max][12];int

HDU4607&多校聯合1之1007

/***************************************************題目大意:N個點和N-1條邊,保證整個圖連通(因為邊的限制,所以不可能形成環);每條邊長度都為1,問要到達k個點的最短路徑(起點可以從k個頂點中任意一個出發);演算法分析:首先如果k小於等於直徑長度,那麼答案為k−1;如果k大於直徑長度,設直徑長度為r,那麼答案為r−1+(k−r)*2;樹的直徑:樹上的最長簡單路徑;可以隨便選擇一個點開始進行bfs或者dfs;從而找到離該點最遠的那個點;可以證

HDU OJ 4501 小明系列故事——買年貨【DP】

原題串連:http://acm.hdu.edu.cn/showproblem.php?pid=4501思路:三維~~~~~AC代碼:#include<stdio.h>#include<stdlib.h>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int Max = 100 +10;const int base =

HDU 3449 Consumer【DP之背包】

原題串連:http://acm.hdu.edu.cn/showproblem.php?pid=3449題意:自己看吧~~~思路一:先對箱子裡的物品進行一次01背包,然後加上箱子價格,在進行分組背包,然後TLE !!白寫了一個下午呀!!!逾時代碼:#include<stdio.h>#include<stdlib.h>#include<iostream>#include<cstring>#include<algorithm>using

總頁數: 61357 1 .... 19222 19223 19224 19225 19226 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.