poj 2369 Permutations(置換群)

早起一水.求原始序列到有序序列按照規則最少需要移動多少次.分析下範例1 2 3 4 5 原始序列: 4 1 5 2 32 4 3 1 5p(p(1))=p(4)=2;p(p(2))=p(1)=4;p(p(3))=p(5)=3;......1 2 5 4 3p(p(p(1)))=p(2)=1;p(p(p(2)))=p(4)=2;p(p(p(3)))=p(3)=5;......4 1 3 2 5p(p(p(p(1))))=p(1)=4;p(p(p(p(2))))=p(2)=1;p(p(p(p(3))

poj 1026 Cipher(置換群T_T)

跪了一個下午了,才發現在迴圈哪裡寫錯了WA到死。題目意思是:104 5 3 7 2 8 1 6 10 91 Hello Bob1995 CERC00給出了一個長為N的序列,和需要按這序列交換k次的字串 (如長度不足n,就補空格) .交換方式時字串下標為i與序列中num[i]進行交換。做法,還是根據迴圈節,既然它都說按照這個關係交換的,那就有個規律進過L就換回原來位置,這個L就是迴圈節長度,交換k次,k個L略去K%L就是其最後的結果。k沒限制大小所以直接類比必然會逾時./*Problem

poj1966 Cable TV Network 最大流

大意:任意的一個圖,計算讓圖不連通所需刪去的最小點數。分析:最近在搞網路流,所以就往那個方面想,首先,拆點。原先節點所形成的那一段的容量為1,原先點與點之間的路徑的容量為無窮大。讓後枚舉源匯點,計算所以這些情況所取得的最大流的最小值。一開始RE許久,後來改了一下,去掉了一維,只枚舉匯點,因為若圖被分割成多部分時,無論以圖中哪一個點為源頭,一定會存在一個最大流為0的匯點。(似乎,

contest: Codeforces Round #161 (Div. 2), problem: (D) Cycle in Graph 圖論

題意:在一個圖中求一個長度大於等於k的迴路做法:DFS的同時記錄每個點的深度,然後在再看任何一個與他相連,且已經DFS過的點,看他們之間的深度差是否不小於K,然後記錄合格情況#include <iostream>#include <cstring>#include <cstdio>#include <utility>#define LMT 100003using namespace std;int

hdu 2993 MAX Average Problem 動態規劃 斜率最佳化

做法:構造凸包即可。然後HDU的時間卡的很死,手動輸入,能用儲存位元少的資料類型就用,電腦群組成了剛說過,呵呵。。#include<cstdio>#define LL __int64const int LMT=100005;int deq[LMT],rear,top;int sum[LMT];int get(void){ char c=getchar(); int res=0; while(c<'0'||c>'9')c=getchar();

Codeforces Round #135 (Div. 2)

A題:水題,可惜一開始犯糊塗,結果30min才做出來-.-統計下字母出現次數,重新排列,okint main(){ int N,flag[27]; char A[1005],B[1005]; while(~scanf("%d",&N)){ scanf("%s",A); memset(flag,0,sizeof(flag)); int len=strlen(A); for(int i=0;i<len;i++){

ACM專題訓練

OJ上的一些水題(可用來練手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本演算法:(1)枚舉.

SGU 131 Hardwood floor

題意:問用L形和I形裝骨牌完全覆蓋棋盤的方案數做法:2進位的優越狀態一定要充分利用,理解0,1的作用。在DFS當前行的同時,記錄下這種方案對上一行的影響(s2),在每一行的遍曆最後對s2取反就是上一行的狀態。轉移方程為 dp[i][s1]+=dp[i-1][反s2],這裡的取反不應該用 "~".#include<stdio.h>#include<string.h>#define LL long longLL dp[10][530];int m,n,i,lim;//若s1,

Codeforces Round #145 (Div. 2, ACM-ICPC Rules) Fence

#include<stdio.h>#include<string.h>#define eps 0x3f//這個值不可以初始化ans,實在太小int dp[203][40002][2],h[203],sh[203];//不懂了,看了大神代碼,寫下自己的心得吧//已經過每一塊板時,紅色用的數量為分割狀態//以後記住這種關聯狀態只有確定一種量的值就好//轉移狀態是看前一個板子的顏色。//x紅y藍

POJ2441 2441 Arrange the Bulls

大意:有N頭牛,有M個房間,每個牛有特定的房間,每個房間只能養一隻牛。分析:最近在學狀態DP,這道題目居然被我做出來了,估計難度也是為0,偷著樂吧。我發現ACM其實和以前的高中做題也差不多,而且對遷移能力的要求更高,我是若菜,不會遷。記得曾經做過求棋盤覆蓋的題,遷一下,把每頭牛當做一行,每個房間當做一列,覆蓋為1,否則為0.,附加一個like數組,記錄牛的特定房間,選了為1,否則為0。#include<stdio.h>#include<string.h>int

Ural 1671. Anansi’s Cobweb(並查集)

這兩天複習下基礎演算法.並查集忘得差不多,開了個專題:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=12105#overview  密碼zisu123本題的題意是:給出一張無向圖,然後依次刪除一些邊,問每次刪邊後圖中有幾個連通分量,簡單的並查集../*Problem ID:F - Anansi's Cobwebmeaning: Analyzing:並查集,*/#include <iostream>#include&

codeforces D. Distance in Tree

題意:在一顆數中找距離為K的點對數 以後確定狀態之後,最後看看有什麼屬性是不用確定的。。#include<cstdio>#include<cstring>#include<iostream>#define LL long long#define LMT 50003using namespace std;LL dis[LMT][505];//SB,這裡是500!!!!int next[LMT];int all,k,n;LL ans;struct line{

poj 1703 Find them, Catch them(種類並查集)

接上文:食物鏈的多種類並查集.http://blog.csdn.net/cqlf__/article/details/7381467本題比上面那題要簡單.原理都是一樣的都是種類並查集。/*Problem ID:H - Find them, Catch themmeaning: 兩個黑班。D:a,b different A:ask diff or same Analyzing:種類並查集,*/#include

這幾天做的題,DP雖然可能較水

Codeforces Round #145 (Div. 2, ACM-ICPC Rules)C. Weath水,暴力確定正數的起點,有DP的手法計算消耗即可#include<stdio.h>#define eps 1e8#define LMT 1000005//知道這題很弱。//你要先選擇一個正數的起點,然後會有各種消耗,算消耗是可以用DPint temp[LMT],dp[LMT],rdp[LMT];int main(void){ freopen("input.txt","r"

棧的基本操作實驗報告

#include "stdio.h"#include "stdlib.h"#define STACK_INIT_SIZE 100 /* 儲存空間初始分配量 */#define STACK_INCREMENT 20/* 儲存空間分配增量 */ typedef int SElemType;typedef struct{   SElemType *base; /* 在棧構造之前和銷毀之後,base的值為NULL */   SElemType *top; /* 棧頂指標 */   int

SIP協議概述

SIP協議概述  摘 要:SIP協議是NGN中的重要協議,越來越得到業界的重視。本文通過SIP協議的背景、功能、網路元素、實現機制、以及SIP訊息的組成等幾個方面對SIP協議做了全方位的概要性介紹,以使讀者對SIP有初步的概念和認識。關鍵字:SIP NGN Proxy 伺服器一、SIP協議的背景和功能  SIP(

POJ 1038 Bugs Integrated, Inc.3進位壓縮

題意:在n*m的棋盤中,求2*3木塊的最大覆蓋數(不允許木塊重疊,且有些無法覆蓋的點)。做法:3進位壓縮狀態,此時的狀態會用數組記錄,而且為了方便,數組從 0開始,表示每一行的狀態,而行數是從1開始記錄的,所以在記錄無法覆蓋的點的時候要注意這個改變,否則。。。,寫挫了,人品好才沒逾時1800MS,傷不起。。。#include<stdio.h>#include<string.h>bool blo[150][12];short dp[155][60000];int

poj 2492 A Bug’s Life(種類並查集)

要求根據M對交配關係找出N個蟲子中是否存在同性戀/...和上題一樣...T_T/*Problem ID:I - A Bug's Lifemeaning: 尋找同性戀Analyzing:種類並查集,bug:1,2;1,2.。。T_T*/#include <iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<vector>using namespace

poj 1562 || zoj 1709 Oil Deposits(DFS)

題意:油田問題:相鄰的可以合為一塊田,這裡相鄰是指邊上的8個方向…求最少油田數量。分析:本題實際上是做一個搜尋矩陣的連通子集。簡單的dfs就可以解決,還不用剪枝。^_^一開始我回溯考慮太多了,其實只需在dfs函數裡放個:   if(a[x][y]=='*')return;就行的,然後又有個問題:什麼時候計數增1.找我那麼做,要瘋了的。現在只需在一開始從起點開始計算count++,搞定。還有一個學習的就是對二位字串數組的初始化。memset(a, '*', 105 * 105 *

hdoj 1042 N!(高精度)

Problem DescriptionGivenan integer N(0 ≤ N ≤ 10000), your task is to calculate N!  InputOneN in one line, process to the end of file.  OutputForeach N, output N! in one line.  Sample Input123  Sample

總頁數: 61357 1 .... 18192 18193 18194 18195 18196 .... 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.