轉載自:Solution:使用Shockwave Flash Object控制項的時候提示:未能匯入 Activex控制項,請確保它已正確註冊! Mysolution:Microsoft Windows XP [版本 5.1.2600] (C) 著作權 1985-2001 Microsoft Corp. C:/Documents and Settings/LoveHSL>regsvr32 C:/Documents and Settings/LoveHSL>regsvr32
題意: 日本的東西海岸分別有 M, N 座城市,從北至南依次編號,現在東西海岸的某些城市之間修建公路,求所有交點的數量。題解: 若 a, b 兩公路存在交點的話,必有 a.east < b.east, a. west > b.west 或者 a.east > b.east, a.west < b.west。 對每一條公路的 east 降序排列,east 相同則 west 也按降序排列。這樣一來,只需求 west 的逆序數。用樹狀數組。#include
題意:有很多給定座標的星星,求每個星星左下方的星星數。題解:用樹形數組解。因為輸入時y是升序,只要x1 >= x2 就可行。所以可以將二維視作一維,只考慮x就可以了。另外需要注意的是,樹形數組不能從0開始,否則函數lowbit,和函數update死迴圈。這個問題可以將輸入的x平移一個單位(即加1)來解決。#include <memory> #include <cstdio>int n, lev[16000],c[33000];int lowbit ( int t )
原創:--大量刪除使用者表--1.刪除外鍵約束DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F'open c1declare @c1 varchar(8000)fetch next from c1 into
題意:在一個網路中有n個節點,現在需要把n個節點分成兩部分,每部分之間的通訊代價為0,不同部分之間的通訊代價為Cij。求一種劃分方式,是的總得代價最大。題解:dfs, 隨機化演算法都可以。下面給出了兩種dfs的實現方法。方法一:dfs#include <iostream>using namespace std;int map[22][22], check[22];int n, ans;void dfs ( int k, int sum ){if ( k > n ){ans =
題意:給你兩個罐子,你可以執行以下操作:1. FILL(i) 將罐子 i 裝滿水2. DROP(i) 將罐子 i 中的水倒掉3. POUR(i,j) 將罐子 i 中的水倒入罐子 j 中,若 i 中的容量大於 j 中的容量, 那麼 i 中有剩餘。現在給出A,B兩個罐子的容量,開始時A,B皆空,問能不能經過一系列操作使得A,B中有一個裝有C水?題解:#include <queue>#include <iostream>using
題意:給定兩個素數 a, b (均為四位元),要求將素數 a 修改成素數 b,每次只能修改一個位置上的數字,且中間的每一步得到的數字也必須是素數。求最少需要的步驟數。若不能將 a 按規定要求換成 b,則輸出Impossible.題解:給出兩組代碼。#include <queue>#include <cstring>#include <iostream>using namespace std;#define N 10000int step[N];bool
題意:John的奶牛丟失了,現在有人告訴他奶牛的位置為e, 而他自己的位置為s,e與s在同一條直線上。現在John去追趕他的奶牛,他又兩種方式可以選擇。1. 在任意位置 x 可以走到 x-1 或者 x + 1, 耗時一分鐘2. 在任意位置 x 可以走到 x * 2, 耗時一分鐘。求出John追上奶牛所需的最少時間。題解:說明一下。一開始我將數組開到200000,用來計算跳出100000之後又返回的情況。其實這完全沒有必要。因為如果某一路徑途中大於100000,那麼一定存在另一條路徑不會經過大於1