一些Gym三星單刷的比賽總結

2022-09-18 04:24:35 字數 2526 閱讀 2894

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...