2013, samara sau acm icpc quarterfinal qualification contest
g思路卡成智障呀!
round 1:對著這個魔法陣找了半天規律,效果很辣雞。
round 2:打表,效果辣雞。
round 3:找對映關係 + pick定理
對於某種顏色的點來講,必須形成乙個網格狀方陣的!
設總共有\(s\)種顏色。方陣中相鄰兩點連線向量為\((x,y)\)
觀察網格,注意「乙個格仔」與「這個格仔的左上角」是一一對應的。
因此,由皮克定理:\(x^2+y^2=s+1\)
i日常不會貪心..........
貪心是不可能貪心的,這輩子都不可能會貪心!
搞dp又不會搞.........
我發現自己一碰到這種什麼序列,區間上的貪心dp就直接炸毛。
研究下自己的魔術迴路:
做法:從前往後掃,拿個堆了維護石頭,如果要被砸死了,那就丟掉乙個傷害值最大的石頭。
2013, vi samara regional intercollegiate programming contest
a魔術迴路
注意,找到第一只存活的兔幾後,接下來最多也只要犧牲乙隻小兔幾。
慢慢分類討論.
c看到完美匹配,直接想到hall定理。然而效果極度辣雞。
正解:貪心+線段樹
寫得好凌亂吖!!!
emmm...碰鍵盤一定一定先把思路整理好吖!!!!
寫了半天不知道自己在寫什麼東西就比較喜了.......
做法:
#include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
#define rd(x) scanf("%d",&x)
#define prt(x) printf("%d\n", x);
#define prtvec(v) for(int i=0;i=x;i--)
const int n=200000+10;
const double eps = 1e-8;
int n,ret[n],ans[n],now[n];
struct nod
nod(int l_,int r_,int id_)
bool operator < (const nod & o) const
} nod[n];
struct interval interval[n];
struct room
} a[n]; int p[n];
setst;
bool cmp(nod a, nod b)
int s[n<<2];
void build(int l,int r,int rt)
int mid=(l+r)>>1;
build(l,mid,rt<<1);
build(mid+1,r,rt<<1|1);
s[rt]=max(s[rt<<1],s[rt<<1|1]);
}int querymax(int l,int r,int rt,int l,int r)
int mid=(l+r)>>1;
int ans=0;
if(l<=mid) ans=querymax(l,mid,rt<<1,l,r);
if(r >mid) ans=max(ans,querymax(mid+1,r,rt<<1|1,l,r));
return ans;
}int main()
nod tmp = *st.lower_bound(nod(-1,a[i].x,0));
ret[i]=tmp.id;
ans[tmp.id]=i;
interval[ret[i]].l = tmp.l;
interval[ret[i]].r = tmp.r;
if (ret[i]==0) return !printf("let's search for another office.\n");
st.erase(tmp);
}
build(1,n,1);
rep(i,1,n)
}printf("perfect!\n");
rep(i,1,n)
}
f
貪心怕是有完殺效果吧。
對於區間按左端點排序。對於每個點,去左端點盡可能靠左的區間。lower_bound一下就好了。
k構造長度為n,逆序對為k的排列。
智障的做法1:像[a,...1][b....a+1][c....b+1]....[n....c+1]這樣,長度為len的區間對逆序的貢獻為len*(len-1)/2,每次都拿出盡可能長的一段。然後驚喜地發現總長度有可能湊不出n.
智障的做法2:bit + 二分【還被邊界殺】,雖然能夠,但是....好沙比啊。
不智障的做法:先[a,....1][a+1,.....n]然後把n往左邊扯。
製作三星I9088 刷機ROM的實踐(一)
首先,我們要理解rom的製作其實分為兩個層次 第一層是拿官方的rom做底包,通過解包 修改 打包幾個步驟,製作出自己定製的rom。第二層則基於google的aosp android open source project 從原始碼開始,自己編譯,自己打包得到自製rom。本文要討論的只是第一層的內容,...
三星已經在一些裝置上修補了高通機型的安全漏洞
幾天前,check point research披露了高程式設計客棧通數據機中的乙個漏洞,該漏洞允許攻擊者監聽您的通話 閱讀您的文字等。今天三星宣布,它已經意識到了這個漏洞,並且已經修補了它的一些裝置 自今年1月以來,三星一直在為一些由高通公司提供支援的galaxy裝置推出補丁但該公司沒有具體說明是...
單鏈表的一些基本操作(自我總結)
鍊錶可分為兩種 1.無頭結點定義 2.有頭節點定義 無頭結點定義的鍊錶 它的第乙個節點就開始儲存資料,這樣在進行後續某些操作時會造成一些不方便的地方。這是我從啊哈演算法中看到的版本,沒有分開函式去創立鍊錶 include using namespace std struct node int mai...