Time of Update: 2018-12-05
這道題剛開始抓破頭腦也想不出怎麼做。後來從0到10寫了一遍就發現了一些規律。若且唯若n滿足如下情況才是我們要求的n:(1):sum=1+2+3+.....+n>=k(2):(sum-k)%2==0(即sum與k的差為偶數。)(3):對於任何m<n,m不同時滿足上面兩條。(即保證n是最小的那個數)第一條很顯然,第二條略加證明如下:因為sum>k,所以一定有sum-x=k,即1+2+3+......+n-x=k,1+2+3++...-x/2+...+n-x/2=k,因為x/2一定是
Time of Update: 2018-12-05
//zoj3204||poj3450 最小產生樹,要求字典序最小的先輸出//需要輸出邊的頂點的一類題用prim不會啊,請大神指點一下//還要注意輸出行末尾不能有空格#include"stdio.h"#include"stdlib.h"#include"limits.h"#define N 102typedef struct side{int e,s,len;}side;side sides[N*N];int n,cases,g[N][N],has[N*N];int input(){int i,
Time of Update: 2018-12-05
排列Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 13121 Accepted: 5442Description題目描述: 大家知道,給出正整數n,則1到n這n個數可以構成n!種排列,把這些排列按照從小到大的順序(字典順序)列出,如n=3時,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2
Time of Update: 2018-12-05
當時博哥講的~~木有做好筆記~~導致又重新翻了博哥的blog一遍才找到做法#include<stdio.h>char a[100]="17006 187 20 30 100 50 60";int main(){ int num,add; char *p=a; while(sscanf(p,"%d%n",&num,&add)!=EOF){ p=p+add; printf("%d %d\n",num,add); }
Time of Update: 2018-12-05
沙漠之旅Time Limit: 1000msMemory Limit: 65536KB64-bit integer IO format: %lld Java class name: Main Prev Submit Status Statistics
Time of Update: 2018-12-05
// Poker Hands (撲克牌型)// PC/UVa IDs: 110202/10315, Popularity: C, Success rate: average Level: 2// Verdict: Accepted// Submission Date: 2011-05-23// UVa Run Time: 0.008s//// 著作權(C)2011,邱秋。metaphysis # yeah dot net////
Time of Update: 2018-12-05
Problem BClaw DecompositionInput: Standard InputOutput: Standard Output A claw is defined as a pointed curved nail on the end of each toe in birds, some reptiles, and some mammals. However, if you are a graph theory enthusiast, you may understand
Time of Update: 2018-12-05
// Australian Voting (澳大利亞投票)// PC/UVa IDs: 110108/10142, Popularity: B, Success rate: low Level: 1// Verdict: Accepted// Submission Date: 2011-05-22// UVa Run Time: 0.844s//// 著作權(C)2011,邱秋。metaphysis # yeah dot net#include <iostream>#include
Time of Update: 2018-12-05
這道題要用到錯排的知識,剛開始也不會。後來到網上找資料惡補了一下就A掉了。哈哈。錯排的相關知識可以參考我的部落格:http://blog.folyd.com/archives/39//hdoj2048.cpp#include<iostream>using namespace std;int main(){ int t,n,i; double p; double a[21],b[21];//定義了兩個數組,數組a表示錯排數,數組b表示階乘 a[1]=0.00;
Time of Update: 2018-12-05
Cheapest PalindromeTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 4648 Accepted: 2263DescriptionKeeping track of all the cows can be a tricky task so Farmer John has installed a system to automate it. He has installed on each cow an
Time of Update: 2018-12-05
題目連結典型的求最短路徑的問題,從1這個節點開始求解~~找出距離1最遠的最短路徑。#include <stdio.h>#include <iostream>#include <string.h>#include <string>#include <map>#include <vector>#include <math.h>#include <queue>#include
Time of Update: 2018-12-05
poj1166 the clock 連結關於這個~~9個鐘錶的指標0-4的數,9個狀態進行for迴圈遍曆每個狀態每個操作不會超過四次,四次之後就重頭開始了貼代碼~~post code:#include<stdio.h>#include<string.h>int clock[10];int original[10];int rec[10];char
Time of Update: 2018-12-05
好久沒寫樹型dp了...以前都是先找到葉子節點.用隊列維護來做的...這次學著vector動態數組+DFS回朔的方法..感覺思路更加的清晰... 關於題目的第一問...能邀請到的最多人數..so easy了...很基礎的樹形DP..dp[k][0]表示以k為根的子樹不選k點時的最大人數...dp[k][1]代表選k點時的....
Time of Update: 2018-12-05
就是三分~囧~現場賽時把三分的下界寫錯了一直到最後也沒過~另外還把切點都求錯了~沒救了沒救了~剛才看到終於把題掛出來速度去重寫~然後1Y~嘖嘖嘖~做法就是求螞蟻所在的點與圓形成的兩個切線,兩個切點把圓綿分成兩部分,則螞蟻爬到圓上的那一點一定在 圓心角<PI
Time of Update: 2018-12-05
我們隊沒有拿到獎。這個想法在第三道題出的時候(108)是沒有的。但是~~~額~~~~~賽後我想讓自己放下~~我也勸YS隊長放下~~~卡題不是他一個人的責任~~是我們三的錯·~~~我~~都是真的是好難受~~~YS隊長說他很難放下~~~我拍了拍他後背~~他哽咽~~~我也卡喉了~~就算是我自己都很難放下~~~實在很難受~~~這不是~~這不應該是最後的結果的~~~不是~~不是~~~我們一年的203日子~~~我們的一年ACM夢~~我們的總隊長ZZY他們發揮的
Time of Update: 2018-12-05
2-SAT兩篇論文《由對稱性解2-SAT問題》(伍昱的WC論文)、《2-SAT解法淺析》(趙爽)我就不多說了,伍昱的論文以執行個體說明了2-SAT的建圖方式,趙爽的論文則比較偏重理論。首先關於建圖,如果兩點a和b矛盾則a和非b連一條邊,而不能是如果選a後可以選b則連邊ab,看起來沒好像什麼區別但是實際上會引起錯誤,我一開始寫2-SAT時就因為這一點一直寫錯,後來才把這點弄清。關於輸出答案的部分,拓撲排序然後建反向圖什麼的,其實我一直在想為什麼不是建正向圖,好像是因為必要條件什麼的,沒有想得很清楚
Time of Update: 2018-12-05
題目大意:如題思路:manacher演算法,第一次沒聽懂..這次終於弄懂了..跟擴充KMP很像....先把在部落格上看到的思想貼出來:其實原文說得是比較清楚的,只是英文的,我這裡寫一份中文的吧。 首先:大家都知道什麼叫迴文串吧,這個演算法要解決的就是一個字串中最長的迴文子串有多長。這個演算法可以在O(n)的時間複雜度內既線性時間複雜度的情況下,求出以每個字元為中心的最長迴文有多長,
Time of Update: 2018-12-05
杭電1010題經典的深搜問題 值得一看~~解釋一.奇偶剪枝例如 4*4的矩陣1 0 1 00 1 0 11 0 100 1 0 1由1到1 由0到0必走偶數步由1到0 由0到1必走偶數步所以 根據這個和時間來判斷是否成立例如 4 4 5S . X . . . X .. . X .D . . . 代碼: int dis=abs(bx-ex)+abs(by-ey); if((dis+t)%2!=0){printf("NO\n");continue;} //奇偶剪枝
Time of Update: 2018-12-05
2012-12-25剛才把預流推進裡的隊列改成優先隊列【手寫堆,不會STL給跪了】,為啥速度變得更慢了QAQ測速用的POJ3469,普通預流推進2.7s,換成優先隊列變成3.2s了不科學,求解答。2012-12-28改成STL的優先隊列了,不過整體上的速度還是比SAP要慢,難道還有可以最佳化的地方麼~求解2013-01-02我的sap是單路增廣~今天看了一下多路增廣但是不是很明白,目前單路增廣的效率我已經很滿意了,多路增廣慢慢看看有沒有必要用吧2013-01-05補充一下dinic的模板~不過寫
Time of Update: 2018-12-05
果然SAP才是最愛,順便ZKW的那個多路增廣的SAP是有錯誤的。這次只加了GAP,沒有加當前弧最佳化【因為不知道怎麼加】,HDU4280測速結果5000+,還不是很滿意,這速度還不如非遞迴單路增廣的SAP快,但是寫起來更短,以後再想想怎麼加當前弧吧。【2013-1-11 21:25 加入當前弧最佳化,但是好像沒有快的樣子,不能直視了,SAP就這樣告一段落吧】#pragma comment(linker, "/STACK:32000000")#define INF