這次考試就不罵自己了,畢竟罵了也沒用。t1是水題。。用map手卡30分,我tm。。。。然後以為這就結束了,然後去改t2,t2wa40,我寫的主席樹但是修改是自己yy的,以為就是錯了,然後把離散化去了,wa80?????!!!然後加上wa40。。。。然後我好好研究了一下,突然想到它可能詢問從沒出現過的顏色,然後判了一句,a了。。。。因為沒出現過就是0,主席樹查不出來。。。t3考場上吃屎一會再說。
t1:這是一道規律題,找的話其實打個父親表,看一下就能知道,乙個數的父親就是這個數之前減去離他最近的斐波數,我們又可以知道這個斐波數增長飛快,見過通項的都知道,這玩意是指數級的,所以就可以打個表知道大概60多個就到13位了,找父親log60,抬lca是60,一次操作就是常數,m次絕對可以接受,結果忘了之前搞得乙個map沒刪,就死了30分。
#include#includeview code#include
#include
using
namespace
std;
long
long f[10000
];
long
long
rd()
while(cc>='
0'&&cc<='
9') s=(s<<3)+(s<<1)+cc-'
0',cc=getchar();
return s*w;
}long
long fa(long
long
x)long
long getdep(long
long
tmp)
return
ans;
}long
long lca(long
long a,long
long
b)int
main()
int m=rd();
for(int i=1;i<=m;i++)
printf(
"%lld\n
",lca(a,b));
}return0;
}/*g++ 1.cpp -o 1
./15
1 12 3
5 77 13
4 12
*/
#include#includeview codeusing
namespace
std;
const
int n=300050
;int rt[n],a[n],p[n],tt=0,cnt=0
;struct treetr[50000020
];int
rd()
while(cc>='
0'&&cc<='
9') s=(s<<3)+(s<<1)+cc-'
0',cc=getchar();
return s*w;
}void insert(int &x,int l,int r,int p,int
va)
int mid=(l+r)>>1
;
if(p<=mid) insert(tr[x].lc,l,mid,p,va);
else insert(tr[x].rc,mid+1
,r,p,va);
}int query(int x,int l,int r,int
p)int
main()
for(int i=1;i<=n;i++)
while(m--)
else
}}/*
g++ 2.cpp -o 2
./210 9
1 2 3 4 5 6 1 2 3 4
1 1 3 3
1 4 6 3
2 31 1 3 3
1 4 6 3
1 1 10 4
1 1 10 3
1 1 10 2
1 1 10 1
*/
t3:首先這個題不是dp,倒著掃一遍,貪心找最長的合法區間,然後既能保證最少,也能保證最小。然後k=1的時候好搞,隨便搞搞就行了,k=2的時候用二分圖來做,我考試的時候鬼畜沒看到k只能等於1或2,然後就開始yy,發現如果在一張圖上如果把非敵對關係建圖(反圖)的話,在只有雙聯通分量裡的點才能分成乙個小組,於是我就開始了愉快的tarjan。。。。這題k=2的時候二分圖可以跑過,我們就可以通過二分圖判定,來判斷這一堆貓啊不兔子是否能分兩組,這個題的打法沒怎麼見過,不是dp只能瞎打。自己yy了乙個調了一下午。
另外:親測告訴各位卡常大師,sqrt函式我估計是$o(2^)$的,慢到沒分數,直接打錶比sqrt快3000ms
#include#includeview code#include
#include
//const int l=1<<20|1;
//char buffer[l],*s,*t;
//#define getchar() ((s==t&&(t=(s=buffer)+fread(buffer,1,l,stdin),s==t))?eof:*s++)
using
namespace
std;
const
int n=3000050
;bool
v[n],ch[n];
int c[n],s[n],a[n],tt,qn,tot,fr[n*2
];struct nodemo[n*2
];void add(int x,int
y)bool dfs(const register int x,const register int
cl)
return
true;}
intrd()
while(cc>='
0'&&cc<='
9') s=(s<<3)+(s<<1)+cc-'
0',cc=getchar();
return s*w;
}int
main()
}if(flag==0) break
; v[a[j]]=1
; }
for(int k=j;k<=i;k++) v[a[k]]=0
; i=j;
if(j!=0) s[++tot]=j;
}printf(
"%d\n
",tot+1
);
for(int i=tot;i;i--) printf("
%d "
,s[i]);
puts(
"");
return0;
}else
for(int k=j;k<=i;k++)fr[k]=0
; i=j;tt=0
; s[++tot]=j;
}printf(
"%d\n
",tot);
for(int i=tot-1;i;i--) printf("
%d "
,s[i]);
puts(
"");
return0;
}}/*
g++ 3.cpp -o 3
./35 2
1 3 15 10 6
*/
考試反思 2019 08 03
t1 題目大意 我們已知勾股數滿足a 2 b 2 c 2且可以構成乙個三角形,即滿足兩邊之和大於第三邊,兩邊之差小於第三邊,我們認為,對於a 2 b 2 c 2,若存在 ka 2 k b 2 kc 2 為正整數 則我們認為這兩組勾股數並存,現在給定n組資料,每組資料輸入x和y,求區間 x,y 中有多...
2019 08 03考試報告
寫在前面 一年前的今天在深圳見到了buffon。開心開心 這次考試雖然有些進步,但是和原來的水平差的還是很多,簡單題只拿了部分分,倒是t3得到了56分的好成績 全機房第三 1h 和skyh一起吃飯,日常互相毒奶 嘿嘿嘿這次真的奶到了 0h 考試前5分鐘去了一次廁所,回來就開考了,有些小緊張,t1看了...
C 考試反思
計算機二級c 考試已經有過一段時間了,近來一直反思學習中的欠缺之處。雖然用了不少的時間來準備c 的考試,但最終的考試仍然讓自己大失所望,本來滿懷的信心,在見到考試題的那一刻喪失殆盡。靜下心來仔細想想,考試失誤的根本原因肯定是自己身上出問題了,之所以喪失信心,是因為考試前聽同學們說考試中淨是原題,而考...