<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Loading

      2025信友隊(duì)暑假集訓(xùn)記錄

       

      2025/7/9 報(bào)道

      報(bào)道,沒什么好說的,坐了一上午的動(dòng)車,下午才到,晚上安排自我介紹,
      然后切了點(diǎn)水題。
      宿舍6個(gè)人,福建2個(gè),紹興1個(gè),杭州2個(gè),江蘇1個(gè)。

       

      2025/7/10 上課【貪心】

      還在舒適圈范圍內(nèi))
      But

      目睹六年級巨佬手撕黑題,恐怖如斯
      原來是天津第一小學(xué)生,更恐怖了

       

      2025/7/11 上課【計(jì)數(shù)and容斥】

      也還在舒適區(qū)。
      學(xué)習(xí)總結(jié)寫了,找不到了(

       

      2025/7/12 ??肌?1】

      排名20/20
      爆了,剛來太緊張,發(fā)揮失常。

       

      2025/7/13 上課【字符串】

      死去的AC自動(dòng)機(jī)重新攻擊我的大腦,
      沒怎么聽懂,所以沒有總結(jié)(bushi

       

      2025/7/14 模考【02】

      排名12/20
      又爆了
      02模考總結(jié)被03??嫉哪?伎偨Y(jié)的總結(jié)覆蓋了(

       

      2025/7/15 模考【03】

      連續(xù)兩天模考(
      又一次爆了

      排名 6/20
      分?jǐn)?shù)150/400

      賽中時(shí)間記錄 

      8:30 開始???br>8:30-8:57 想T1
      8:57-9:06 寫T2
      9:06-10:09 寫T1
      10:09-10:38 寫T4
      10:38-11:14 繼續(xù)寫T1
      11:15-11:16 檢查代碼
      11:16-11:24 看T3
      11:42-11:58 寫T4
      11:50 ??冀Y(jié)束

          T1   T2   T3   T4
      期望得分 50 100 0 40
      實(shí)際得分 50 100 0 0

      T1 

      題意:

      T 組數(shù)據(jù),每次詢問給定兩個(gè)數(shù) n,q
      初始 n 個(gè)格子有磚, q 次詢問,每個(gè)格子上有 ai 塊磚( i>=0,ai∈{n-1,n,n+1} )。小G從0號格子開始一格一格往后搬磚,當(dāng)他在第 i 個(gè)格子,設(shè)當(dāng)前所在格子有 x 塊磚,他會(huì)將這 x 塊磚分別拿走放到編號 [max(n,i+1),i+x] 的格子上,每個(gè)格子各一塊磚,多余的磚丟棄。
      對于每次詢問給定一個(gè)數(shù) y ,當(dāng)他走到第 y 個(gè)格子的時(shí)候,第 y 個(gè)格子上有多少塊磚

      (n≤1e5,T≤10,q≤1e5,n≤y≤1e18)

      開局看T1,思考滿分做法,想不到,先做其他題
      寫完T2回來繼續(xù)看T1,思考 subtask2 和 subtask3
      建 a序列 的 差分?jǐn)?shù)組,O(1) 更新新的磚 ,一直更新到 1e6 ,每到一個(gè)新的位置就把磚數(shù)存到 ans 數(shù)組里,查詢時(shí)直接輸出 ans[x] ,復(fù)雜度O(x)
      測樣例的時(shí)候 數(shù)據(jù) 4 and 5 WA了,調(diào)了好久發(fā)現(xiàn)更新區(qū)間[L,R]如果L>R時(shí)不需要更新
      TLE50pts

       

      T2 

      題意:

      定義一個(gè)字符串是好的,當(dāng)且僅當(dāng)可以重排為回文串。給定字符串 s ,求 s 中最長的好子序列的長度

      (|s|≤1e6)

      幼兒園題,秒了
      (11:15檢查代碼時(shí)發(fā)現(xiàn)沒寫freopen,差點(diǎn)掛了)

       

      T3 

      題意:

      給定 n,k 和 k 顆有 n 個(gè)點(diǎn)的樹。對于每個(gè)點(diǎn)對(i,j),求出其在每棵樹上的路徑經(jīng)過的點(diǎn)(含端點(diǎn))的交集大小

      (1≤n,k≤500)

      特殊性質(zhì):滿足這 k 棵樹均為鏈。注意 1 不一定是鏈的端點(diǎn)。

      思考了下特殊性質(zhì),感覺代碼不怎么好寫,不如去想T4

       

      T4 

      題意:

      給定一個(gè) n*m 的網(wǎng)格圖,圖上 '$' 表示寶藏,其余都是空地,有兩條大河,一條為縱,一條為橫,長度都是無窮大,寬度至少為1,
      小P知道兩條大河經(jīng)過的寶藏個(gè)數(shù)和為 k ,注意兩條大河相交的地方寶藏個(gè)數(shù)被計(jì)算了兩次貢獻(xiàn),
      請求出放置兩條大河的合法方案數(shù)有多少種

      (n,k≤1e5,m≤100)

      設(shè) hc[i] 和 lc[i] 分別為 行的 和 列 寶藏?cái)?shù)的前綴和
      hs[i] 和 ls[i] 分別為 橫河 和 縱河 寶藏?cái)?shù)和為 i 的方案數(shù)
      可以通過 hc 和 lc 求出 hs 和 ls

      1 for(int a=1;a<=n;a++){
      2     for(int b=a;b<=n;b++){
      3         hs[hc[b]-hc[a-1]]++;
      4    }
      5 }

      求 ls 同理
      枚舉 i 到 k ,所有 hs[ i ]*ls[ k-i ] 的和就是ans

      1 for(int i=0;i<=k;i++){
      2     ans+=(hs[i])*(ls[k-i]);
      3 }

       復(fù)雜度O(n2) ,期望40分,but最后寫掛了(

       

      2025/7/16 休息日【01】

      我報(bào)的項(xiàng)目:桌游,電影
      早上:先去看《飛屋環(huán)游記》然后去棋牌室玩UNO
      下午:先去棋牌室玩三國殺,我超,蒸,然后去看《紅海行動(dòng)》
      晚上:自習(xí)

       

      2025/7/17 上課【數(shù)據(jù)結(jié)構(gòu)優(yōu)化】

      知識點(diǎn)  

        1.啟發(fā)式合并,小的結(jié)構(gòu)合并到大的結(jié)構(gòu)上,幾乎適用于所有數(shù)據(jù)結(jié)構(gòu)合并操作
        2.線段樹合并,合并兩顆線段樹重疊的部分
        之前只會(huì)用普通線段樹和求區(qū)間最大子段和,今天惡補(bǔ)了其他用法(

       

      B題  

      (原CF 洛谷CF600E):

      直接用啟發(fā)式合并暴力從葉子節(jié)點(diǎn)合并到根,   每次合并時(shí)把小的樹合并到大的樹上,用迭代器枚舉map的每個(gè)元素,

      如果這個(gè)顏色數(shù)量比原來的答案更多則直接更新,如果相等則加上, 

      寫這題的時(shí)候順便學(xué)了下迭代器。

      for(map<int,int>::iterator j=ma[pos[to]].begin();j!=ma[pos[to]].end();j++){
           ma[pos[now]][j->first]+=ma[pos[to]][j->first];
           if(ma[pos[now]][j->first]>mx[now]){
               mx[now]=ma[pos[now]][j->first];
               ans[now]=j->first;
           }
           else if(ma[pos[now]][j->first]==mx[now])ans[now]+=j->first;
      }    

       

      F題  

      (洛谷 4556)

      樹上差分優(yōu)化發(fā)放救濟(jì)糧的操作,起點(diǎn)終點(diǎn)差分?jǐn)?shù)組增加,兩點(diǎn)的LCA的父節(jié)點(diǎn)差分?jǐn)?shù)組減少
      每個(gè)點(diǎn)建一顆動(dòng)態(tài)開點(diǎn)權(quán)值線段樹,發(fā)放的操作完成后從葉子節(jié)點(diǎn)向上合并線段樹,也可以用和B題相似的做法,計(jì)算答案時(shí)查找最大值,
      求LCA只會(huì)用樹剖求的蒟蒻(

       

      2025/7/18 上課【計(jì)算幾何】

      emm只聽懂了凸包的部分

      知識點(diǎn)   

        1.凸包,凸包的性質(zhì),周長最小,面積最小
        2.斜率優(yōu)化dp
        3.李超線段樹

       

      Andrew算法   

      每個(gè)點(diǎn)按x升序排序,從左到右每加入一個(gè)點(diǎn)
      則判斷此時(shí)棧頂?shù)狞c(diǎn)與次棧頂?shù)狞c(diǎn)的斜率和新點(diǎn)與次棧頂?shù)狞c(diǎn)的斜率大小關(guān)系
      若棧頂?shù)男甭蚀螅瑒t棧頂?shù)狞c(diǎn)出棧,重復(fù)操作直到棧頂?shù)狞c(diǎn)斜率更小,然后新點(diǎn)入棧,

       

      此時(shí)下凸殼就求完了,上凸殼用相同的方法再跑一遍
      就能拼成一個(gè)完整的凸包了

       

      A題   

      (凸包模板題 洛谷 2742):

      每加入新的一個(gè)點(diǎn)就判斷這個(gè)點(diǎn)與棧頂?shù)狞c(diǎn)的斜率大小,如果加入的點(diǎn)斜率小,
      則出棧,直到遇到斜率更小的點(diǎn),求完下凸殼后求上殼,兩個(gè)凸殼拼起來就是完整的凸包

       

      B題   

      (信友隊(duì) 1545)

      題意:給定 n 個(gè)點(diǎn),求圍成的凸包面積

      再打一遍凸包模板,設(shè)有 n 個(gè)點(diǎn),則一共能分成 n-2 個(gè)三角形,用海倫公式求出來每個(gè)的面積相加即可,
      題目沒說答案要兩位小數(shù),因?yàn)檫@個(gè)浪費(fèi)我一個(gè)小時(shí)(

       

      D題   

      (洛谷 1034)

      枚舉每個(gè)點(diǎn)加入的矩陣,用類似狀壓的方式暴力搜索

       

      2025/7/19 模考【04】 

      大爆

      排名 12/20
      分?jǐn)?shù)74/400

      賽中時(shí)間記錄    

        8:30 開始???br>  8:30-10:02 寫T1
        10:02-10:14 寫T3
        10:14-10:32 寫T2
        10:32-11:02 寫T4
        11:02-12:00 思考T2和T4
        12:00 ??冀Y(jié)束

          T1   T2   T3   T4
      期望得分 50 30 20 24
      實(shí)際得分 50 0 20 4

      T1    

      題意:

      給定兩個(gè)01串 a 和 b ,對于 a ,可以拿出一個(gè)與 b 長度相同的子串 c ,統(tǒng)計(jì) b 與 c 對于位置字符不同的數(shù)量,記作 f(b,c) 
      求所有的 f(b,c) 中是偶數(shù)的數(shù)量

      (1≤|b|≤|a|≤1e6)

      讓人想到異或,思考預(yù)處理出1的個(gè)數(shù)為偶數(shù)的所有數(shù),異或后查找一下有沒有這個(gè)數(shù)
      尋找規(guī)律,發(fā)現(xiàn)一位的數(shù)1的數(shù)量為偶數(shù)數(shù)的數(shù)量為1
      兩位的為2,三位的為4,四位的為8,emm沒用,而且2^1e6也存不下
      試著求出a的boder,手模一下,發(fā)現(xiàn)好像也沒用,不死心,試著用kmp能不能做
      還是不行,再試試哈希,復(fù)雜度也不對,再想著用線段樹,不行,
      看了下特殊性質(zhì),因?yàn)?b 為 a 的循環(huán)節(jié), 所以答案重復(fù)計(jì)算了(|a|/|b|-1)次,只要求出第一遍,乘|a|/|b|即可,
      于是開始往計(jì)數(shù)的方向想,沒想出來
      思考O(n2)暴力的優(yōu)化,這樣check的復(fù)雜度必須是O(1)的,根本優(yōu)化不出來,最后只能交個(gè)暴力
      (想了一堆方法,早該想到O(1)的check應(yīng)該是像判斷奇偶性這樣的簡單check,整場比賽完全沒有往這個(gè)方面想)

       

      T2    

      題意:

      給定 n,m,q, 有 n 個(gè)結(jié)點(diǎn),m 種傳送門,m 個(gè) n*n 的矩陣 w1~m  , q 次詢問,第 i 種傳送門在結(jié)點(diǎn) u,v 之間的傳送時(shí)間為 wi,u,v
      每次詢問給定 s,t,k
      求點(diǎn)s到點(diǎn)t換傳送門次數(shù)不超過k的最小時(shí)間

      (n,m≤60,wi,u,v≤1e6,q≤1e5,k≤1e3)

      第一眼分層圖最短路,和P4568很像,復(fù)雜度O( (nm+nm)log2nm ),應(yīng)該可以,但空間復(fù)雜度巨大,然后就交了個(gè)暴力

       

      T3    

      題意:

      T次詢問,每次詢問給定一個(gè)長度為 n 的排列 p ,你需要將它分成兩個(gè)不相交的子序列 a,b , 使得 LIS(a)+LDS(b) 最大

      (1≤n≤1e5,1≤T≤10)

      T1不會(huì)寫快瘋了,直接交暴力

       

      T4    

      題意:

      給定 n,m,k,w 和一個(gè)長度為 n 的數(shù)列 x ,m 次操作每次操作把第 p 個(gè)元素修改為 v,
      記 x1,x2,x3...xn 經(jīng)過排序的序列為 x(1),x(2),x(3)...x(n),定義能量指標(biāo)為
      ∑?x(i)ik/w?
      每次操作后求出 x 的能量指標(biāo)對998244353取模的結(jié)果

      (1≤n,m≤1e5,1≤k≤5,1≤w≤20,1≤xi,v≤1e9)

      先交了暴力,然后開始想,沒什么思路

       

      2025/7/20 上課【數(shù)列&矩陣】

      知識點(diǎn)     

        1.矩陣
        2.拉格朗日插值,群論,擴(kuò)展歐幾里得定理,其他一些數(shù)論

       

      A題     

      (原CF 718C 洛谷CF718C)

      因?yàn)橐恍┘?xì)節(jié),重構(gòu)了好幾次代碼,調(diào)了一整天
      導(dǎo)致一天就只寫了一題,直接當(dāng)題解看就行

      題意:

      有一個(gè)長度為 n 的序列 a ,m 次操作
      有兩種操作,第一種是區(qū)間修改
      第二種是求區(qū)間里所有的 f(a[i]) 的和
      f(x) 是斐波那契數(shù)列的第 x 項(xiàng)
      f(1)=1,f(2)=2
      f(x)=f(x-1)+f(x-2)(x>=3)

      (1≤n,m≤1e5,1≤ai≤1e9)

      矩陣快速冪板子題
      動(dòng)態(tài)開點(diǎn)線段樹維護(hù)矩陣,再用矩陣快速冪求斐波那契數(shù)列

      矩陣快速冪可以 log n 求斐波那契數(shù)列的第 n 項(xiàng)
      設(shè)

        0 1                 1 1
        1 1                 0 0
      矩陣 A            矩陣 B

      C = (A*B)n
      則 C0,1 為斐波那契數(shù)列的第 n 項(xiàng)

      事實(shí)上,矩陣快速冪可以 log n 求任何線性函數(shù)。
      查詢和修改的操作和普通線段樹一樣,只是維護(hù)對象變成矩陣,可以手寫一個(gè)數(shù)據(jù)類型

      AC代碼

        1 #include<iostream>
        2 #include<algorithm>
        3 #include<cstdio>
        4 #include<cstring>
        5 using namespace std;
        6 const int maxn=2e5+200;
        7 const int mod=1e9+7;
        8 #define mid (l+r>>1)
        9 #define ls (pos<<1)
       10 #define rs (pos<<1|1)
       11 #define int long long
       12 int n,m,a[maxn];
       13 struct Node{
       14     int m[4][4];
       15     void clear(){
       16         for(int i=0;i<4;i++){
       17             for(int j=0;j<4;j++){
       18                 m[i][j]=0;
       19             }
       20         }
       21     }
       22     void init(){
       23         for(int i=0;i<4;i++)m[i][i]=1;
       24     }
       25     void prt(){
       26         for(int i=1;i<=2;i++){
       27             for(int j=1;j<=2;j++)cout<<m[i][j];
       28         }
       29     }
       30     bool check(){
       31         if(!m[1][1])return 0;
       32         if(m[1][2])return 0;
       33         if(m[2][1])return 0;
       34         if(!m[2][2])return 0;
       35         return 1;
       36     }
       37     Node operator +(const Node &x)const{
       38         Node res;
       39         res.clear();
       40         for(int i=1;i<=2;i++){
       41             for(int j=1;j<=2;j++){
       42                 res.m[i][j]=(m[i][j]+x.m[i][j])%mod;
       43             }
       44         }
       45         return res;
       46     }
       47     Node operator *(const Node &x)const{
       48         Node res;
       49         res.clear();
       50         for(int i=1;i<=2;i++){
       51             for(int j=1;j<=2;j++){
       52                 for(int k=1;k<=2;k++)res.m[i][j]=(res.m[i][j]+m[i][k]*x.m[k][j])%mod;
       53             }
       54         }
       55         return res;
       56     }
       57 }val[maxn<<2];
       58 Node ad[maxn<<2];
       59 Node d,fir;
       60 Node qpow(Node a,int b){
       61     Node res;
       62     res.clear();
       63     res.init();
       64     while(b){
       65         if(b&1){
       66             res=res*a;
       67         }
       68         a=a*a;
       69         b>>=1;
       70     }
       71     return res;
       72 }
       73 void pushdown(int pos,int l,int r){
       74     if(ad[pos].check())return;
       75     val[ls]=val[ls]*ad[pos];
       76     val[rs]=val[rs]*ad[pos];
       77     ad[ls]=ad[ls]*ad[pos];
       78     ad[rs]=ad[rs]*ad[pos];
       79     ad[pos].clear();
       80     ad[pos].init();
       81 }
       82 void build(int pos,int l,int r){
       83     ad[pos].clear();
       84     val[pos].clear();
       85     ad[pos].init();
       86     if(l==r){
       87         val[pos]=fir*qpow(d,a[l]-1);
       88         return;
       89     }
       90     build(ls,l,mid);
       91     build(rs,mid+1,r);
       92     val[pos]=val[ls]+val[rs];
       93 }
       94 void add(int pos,int l,int r,int L,int R,Node z){
       95     if(L<=l&&R>=r){
       96         val[pos]=val[pos]*z;
       97         ad[pos]=ad[pos]*z;
       98         return;
       99     }
      100     pushdown(pos,l,r);
      101     if(L<=mid)add(ls,l,mid,L,R,z);
      102     if(R>mid)add(rs,mid+1,r,L,R,z);
      103     val[pos]=val[ls]+val[rs];
      104 }
      105 Node find(int pos,int l,int r,int L,int R){
      106     if(L<=l&&R>=r)return val[pos];
      107     pushdown(pos,l,r);
      108     Node res;
      109     res.clear();
      110     if(L<=mid)res=res+find(ls,l,mid,L,R);
      111     if(R>mid)res=res+find(rs,mid+1,r,L,R);
      112     return res;
      113 }
      114 inline int read(){
      115     int x=0,f=1;
      116     char ch=getchar();
      117     while(ch<'0'||ch>'9'){
      118         if(ch=='-') f=-1;
      119         ch=getchar();
      120     }
      121     while(ch>='0'&&ch<='9'){
      122         x=(x<<1)+(x<<3)+(ch^48); 
      123         ch=getchar();
      124     }
      125     return x*f;
      126 }
      127 signed main(){
      128     d.clear();
      129     fir.clear();
      130     d.m[1][1]=d.m[1][2]=d.m[2][1]=1;
      131     fir.m[1][1]=fir.m[1][2]=1;
      132     n=read();
      133     m=read();
      134     for(int i=1;i<=n;i++)a[i]=read();
      135     build(1,1,n);
      136     while(m--){
      137         int tp,l,r,z;
      138         tp=read();
      139         l=read();
      140         r=read();
      141         if(tp==1){
      142             z=read();
      143             add(1,1,n,l,r,qpow(d,z));
      144         }
      145         else{
      146             cout<<find(1,1,n,l,r).m[1][2]%mod<<'\n';
      147         }
      148     }
      149     return 0;
      150 }

       

      2025/7/21 統(tǒng)考【01】

      教練說是S組難度(差點(diǎn)就信了
      根本不是S組的難度啊,T1就是綠的

      分?jǐn)?shù)140/400

          T1   T2   T3   T4
      期望得分 100 60 30 70
      實(shí)際得分 40 30 30 40

      T1      

      (原題洛谷 P2034)

      簡單題,直接二分dp,
      然后就爆了(怎么沒有大樣例
      早知道拍一下了

       

      T2      

      題意:

      給定一顆 n 個(gè)節(jié)點(diǎn)的樹,這棵樹是以編號為鍵值的二叉樹,
      可以任意旋轉(zhuǎn) (既可以轉(zhuǎn)化為任意一顆中序遍歷從 1 到 n 的樹)
      小O喜歡從一個(gè)點(diǎn) s 出發(fā)往根節(jié)點(diǎn)走,每次他從點(diǎn) x 走到點(diǎn) y 時(shí),會(huì)發(fā)生以下事件
      1.如果 x 是 y 的左兒子,并且小O的左手上沒有數(shù)字,則他的左手會(huì)被寫上數(shù)字 ay
      2.如果 x 是 y 的右兒子,并且小O的右手上沒有數(shù)字,則他的右手會(huì)被寫上數(shù)字 ay
      在點(diǎn) s 出發(fā)時(shí),左右手都沒有數(shù)字。如果到根節(jié)點(diǎn)時(shí)某只手沒有數(shù)字,則會(huì)被寫上 1
      定義一個(gè)節(jié)點(diǎn)的分?jǐn)?shù)是從它開始往根走,結(jié)束時(shí)左右手的乘積。整棵樹的分?jǐn)?shù)是所有節(jié)點(diǎn)分?jǐn)?shù)的總和。
      請找到一顆分?jǐn)?shù)最大的數(shù),并輸出它的分?jǐn)?shù)。

      (3≤n≤500,1≤ai≤1e7)

      沒思路,暴力+特殊性質(zhì)跑了
      特殊性質(zhì)因?yàn)樯衩卦驅(qū)憭炝?/p>

       

      T3      

      題意:

      給定一個(gè)長度為 n 的序列 a ,m 次詢問,每次詢問給定兩個(gè)數(shù) l,r ,
      求出這個(gè)序列區(qū)間 [l,r] 里所有數(shù)字兩兩之間的最大公約數(shù)的最大值

      (1≤n,m,ai≤2e5)

      思考區(qū)間合并,考慮建權(quán)值線段樹,然后從下往上合并區(qū)間,顯然是不可行的,
      當(dāng)時(shí)腦抽了一直想怎么合并,最后交了個(gè)暴力

       

      T4      

      題意:

      給定一顆起始只有編號為 1 的根節(jié)點(diǎn)的樹和 n 個(gè)操作
      操作有兩種
      1. Add x d 添加一個(gè)編號為 節(jié)點(diǎn)數(shù)+1 的節(jié)點(diǎn),掛在編號為 x 的結(jié)點(diǎn)下方,兩點(diǎn)距離為 d
      2.Query f t 表示求從編號 f 的節(jié)點(diǎn),到編號為 t 的子樹中所有節(jié)點(diǎn)的路徑所有邊權(quán)異或值的最大值

      (n≤2e5,0≤d≤230)

      異或的重要性質(zhì):異或兩遍等于沒有異或
      每加入一個(gè)新點(diǎn)就記錄到根節(jié)點(diǎn)的異或路徑,查詢時(shí)兩個(gè)結(jié)點(diǎn)的到根節(jié)點(diǎn)的異或路線異或一下就是兩個(gè)結(jié)點(diǎn)的異或路徑
      然后暴力枚舉子樹
      期望70分,寫掛了

       

      2025/7/22 ??肌?5&06】

      排名13/20
      分?jǐn)?shù) 60/400

      賽中時(shí)間記錄       

      8:00 開始???
      8:00-9:37 寫05???
      9:37 換06???
      9:37-10:14 寫T1
      10:14-12:05 想T4
      12:15 ??冀Y(jié)束

      本來是05???,結(jié)果05??嫉腡1 T2 T3都有問題,
      老師到教室之后開始改題,改完之后還是有問題
      一氣之下直接把05??缄P(guān)了
      讓我們考06???,難繃

          T1   T2   T3   T4
      期望得分 100 0 0 15
      實(shí)際得分 45 0 0 15

      T1       

      題意:

      給定一張 n 個(gè)節(jié)點(diǎn) m 條邊的有向圖,共有 p 個(gè) 邊集合,
      用 u,v,c,w 表示一條邊的起點(diǎn) u ,終點(diǎn) v ,權(quán)值 c ,屬于集合 w
      Q 次詢問,每次詢問給定 s,t,k ,求出從 s 到 t 走過的邊不超過 k 個(gè)不同集合的最短路徑長度

      (n≤100,p≤6,m≤p*n*(n-1),c≤1e4,q≤1e5)

      一眼 Floyd 啊,zd[i][j][k] 為只走 k 公司 i 到 j 的最短路徑,F(xiàn)loyd 處理出來,設(shè) dp[i][j][w] 為從i走到j(luò)換公司次數(shù)不超過 w 次(埋下伏筆)
      直接枚舉斷點(diǎn)轉(zhuǎn)移即可

       1  for(int w=1;w<=n;w++){
       2      for(int k=1;k<=n;k++){
       3       for(int i=1;i<=n;i++){
       4            for(int j=1;j<=n;j++){
       5                zd[i][j][w]=min(zd[i][j][w],zd[i][k][w]+zd[k][j][w]);
       6            }
       7          }
       8      }
       9  }
      10  for(int i=1;i<=n;i++){
      11      for(int j=1;j<=n;j++){
      12         for(int k=1;k<=n;k++){
      13              dp[i][j][0]=min(dp[i][j][0],zd[i][j][k]);
      14          }
      15      }
      16  }
      17  for(int w=1;w<=n;w++){
      18      for(int k=1;k<=n;k++){
      19          for(int i=1;i<=n;i++){
      20            for(int j=1;j<=n;j++){
      21                dp[i][j][w]=min(dp[i][j][w],dp[i][k][w-1]+dp[k][j][0]);
      22             }
      23         }
      24     }
      25 }

      但是題目是不超過 w 個(gè)不同集合,沒看到,我寫的是轉(zhuǎn)換集合次數(shù)不超過 w 次,寄( 

       

      T2       

      題目描述:

      有一堆牌共 2n 張,自上而下第 i 張上的數(shù)字為 ai。
      ?初始時(shí),最上面 n 張牌已解鎖,下面 n 張牌未解鎖。
      接下來做 2n 輪操作:
      首先,小 W 會(huì)在牌堆中所有已經(jīng)解鎖的牌中等概率隨機(jī)選擇一張,加入自己的手牌。他的得分會(huì)加上現(xiàn)在手牌中所有數(shù)字之和。
      然后,如果仍有未解鎖的卡牌,則解鎖最上面那一張。
      請你求出游戲結(jié)束之后,小W得分的期望對 998244353 取模的結(jié)果。

      (2≤n≤2e5,1≤ai≤998244353)

      看了一眼,感覺不會(huì),去看T3

       

      T3       

      題目描述:

      某一天小 C 所在的公司發(fā)生了流感。公司里總共有 n 個(gè)人,編號為1,…,n。
      在這天開始時(shí),恰好有一個(gè)人感染了流感,每個(gè)人感染的概率都是 1/n。
      在這一整天中,小 C 公司的人按時(shí)間順序發(fā)生了
      m 次接觸,第 i 次接觸發(fā)生在編號為 xi 和 yi 的人之間。
      如果它們其中一個(gè)人感染了流感,而另一個(gè)人沒有,那么沒有感染流感的那個(gè)人會(huì)有恰好 1/2 的概率感染流感。
      在這天結(jié)束時(shí),小 C 得知編號為 k 的人感染了流感。
      現(xiàn)在他想要知道,在已知條件下,每個(gè)人感染流感的概率分別是多少?你需要用形如 a/b 的最簡分?jǐn)?shù)表示答案。

      (2≤n≤15,1≤k≤n,1≤m≤50)

      看了一會(huì),感覺T4更有前途,去看T4

       

      T4       

      題意:

      給定一個(gè)長度為 n 的序列 a 和一個(gè)數(shù) k,
      把序列 a 劃分成若干區(qū)間使得每個(gè)區(qū)間的長度不超過 k 且所有子區(qū)間對應(yīng)序列的 mex 和最大
      即找到 0=p0<p1<p2...<pm = n 且pi<=pi-1+k,使得

      的值最大,輸出這個(gè)值

      (1≤k≤n≤2e5,0≤ai≤n)

      看完題目后先想1e3的做法,1e3很明顯是O(n2)的做法,思考區(qū)間dp
      枚舉左右端點(diǎn),再枚舉斷點(diǎn),做法是O(n3)
      復(fù)雜度不對,開始轉(zhuǎn)換思路,看了100%的數(shù)據(jù),應(yīng)該帶個(gè)log或者直接線性,
      手摸了半天沒真做法,最后交了個(gè)暴力

       

      2025/7/23 休息日【02】

      整天都在玩三國殺...

       

      2025/7/24 上課【圖論建圖】

      知識點(diǎn)        

      1.差分約束
      2.Boruvka算法
      3.同余最短路
      4.一些構(gòu)造

       

       

      A題         

      題意:

      給定一個(gè)圖和 s ,t ,求 點(diǎn)s 到 點(diǎn)t 的最短路,并輸出路徑(按字典序輸出最小的一條)
      如果存在負(fù)權(quán)回路輸出You show me the wrong map!

      為什么會(huì)有模板題啊,
      把每條邊按指向的結(jié)點(diǎn)的字典序排序,用一個(gè)鏈表維護(hù)路徑,跑一遍spfa即可

      C題         

      題意:

      給定一張圖,可以使一條邊邊權(quán)減半,求 s 到 t 的最短路徑

      怎么又是板子題,建兩層的圖跑一遍最短路即可

       

      2025/7/25 ??肌?7】

      爆爆爆

      排名 8/20
      分?jǐn)?shù)170/400

       

      賽中時(shí)間記錄         

      8:00 開始???br>8:00-9:02 寫T1
      9:02-9:50 寫T1
      9:50-10:27 寫T4
      12:00 ??冀Y(jié)束

       

        T1

        T2

        T3

        T4

      期望得分

      100

      50

      0

      20

      實(shí)際得分

      100

      50

      0

      20

      T1          

      題意:

      給定兩個(gè)整數(shù) N,T 和 N 個(gè) Si、Ei,
      一天有 T 個(gè)時(shí)段,共有 N 個(gè)人,第 i 個(gè)人可以在 [Si,Ei] 打掃衛(wèi)生,
      為至少安排幾個(gè)人可以覆蓋全部的 [1,T] 時(shí)段打掃衛(wèi)生。
      無解則輸出 -1

      (1≤N≤25000,1≤T≤1e6,1≤Si≤Ei≤T)

      按S排序,遍歷每一個(gè)點(diǎn),做一些判斷

       1 if(i==1){
       2      if(a[i].s>1){
       3          cout<<-1;
       4          return 0;
       5      }
       6      else{
       7          q[r]=a[i].e;
       8      }
       9  }
      10 else{
      11      if(q[r]>=a[i].e)continue;
      12      if(q[r]+1<a[i].s){
      13          cout<<-1;
      14          return 0;
      15      }
      16      while(l<r&&q[r-1]+1>=a[i].s)r--;
      17      q[++r]=a[i].e;
      18  }

      就可以AC

       

      T2          

      題目描述:

      (n≤3e5)

      樸素的dp是O(n2)的,寫完之后感覺像斜率優(yōu)化,推了一會(huì)式子沒推出來,
      又想了一下,發(fā)現(xiàn)可以用線段樹,開始寫,一直調(diào)不出來,寄,去看T4

       

      T3          

      題目描述:

      (m≤n≤200,T≤10)

      好困,懶得看了

       

      T4          

      題目描述:

      保登心愛擅長算數(shù)。
      某天,心愛拿到了一個(gè)長度為 n 的序列 ai ,她很快就求出了這個(gè)序列的每個(gè)子區(qū)間的平均數(shù)。
      但是,子區(qū)間一共有 C2n+1 個(gè)。
      為了證明你也能求出所有平均數(shù),你需要把所有 C2n+1 個(gè)平均數(shù)從小到大排序后,
      把第 k 個(gè)數(shù)告訴心愛。

      (1≤n,k≤5e5,k≤C2n+1,1≤ai≤1e7)

      O(n2)的區(qū)間dp,能拿20,又思考了一會(huì)沒什么思路,
      昨天晚上沒睡好,后面基本在發(fā)呆

       

      2025/7/26 上課【DP專題】

      知識點(diǎn)           

      1.斜率優(yōu)化
      2.單調(diào)隊(duì)列/單調(diào)棧優(yōu)化
      3.DDP(帶修D(zhuǎn)P)

      課內(nèi)的作業(yè)太難了,只能自己先找點(diǎn)基礎(chǔ)的做(

      T1(不是xyd的作業(yè))

      (洛谷P3195)

      樸素dp是O(n2)的,把方程化成y=kx+b的一次函數(shù)的形式,觀察在圖上的性質(zhì),
      維護(hù)一個(gè)下凸殼即可,復(fù)雜度O(n)

       

      T2(不是xyd的作業(yè))

      (洛谷P6563)

      O(n3) 的區(qū)間DP,轉(zhuǎn)移方程 dp[l][r]=min{max{dp[l][k],dp[k+1][r]}+a[k]}
      把 max 分類討論,隨著 k 增大, dp[l][k] 遞增,dp[k+1][r] 遞減,找到 dp[l][p+1]>dp[p][r]dp[p][r]>=dp[l]][p-1] 的分界點(diǎn) p
      分別考慮 max 的兩種情況

       

      2025/7/27 ??肌?8】

      emm,還是爆

      排名 5/20
      分?jǐn)?shù)125/400

      賽中時(shí)間記錄            

      8:30 開始模考
      8:30-10:37 寫T1
      10:37-11:24 寫T1
      11:24-12:00 寫T1和T3的暴力
      12:00 ??冀Y(jié)束

       

        T1

        T2

        T3

        T4

      期望得分

      0

      40

      15

      0

      實(shí)際得分

      20

      90

      15

      0

      T1            

      題目描述:

      屏幕截圖 2025-08-13 090607(1≤n≤5e4,1≤m≤1e5,pi∈[75,100],1≤ui,vi≤n)

      第一眼感覺像最大生成樹之類的問題,可以給每個(gè)點(diǎn)賦一個(gè)值 g ,表示一號點(diǎn)到這個(gè)點(diǎn)不被發(fā)現(xiàn)的最大概率,
      全圖能 聯(lián)通當(dāng)前還沒聯(lián)通的點(diǎn) 的邊的最大值記為 mx ,g值最大的點(diǎn)的最大邊的權(quán)值記為 mxe ,則 mx>=mxe,
      如果 mx==mxe ,那么加入 mxe 這條邊,否則加入 mx 這條邊,更新連接后的 g 值
      建完圖之后跑一遍搜索計(jì)算答案
      手模了一些數(shù)據(jù),沒問題,寫寫寫
      寫了1快個(gè)小時(shí),將近兩百行,寫成一坨了,4個(gè)自定義數(shù)據(jù)結(jié)構(gòu),7個(gè)庫,變量數(shù)不清了,變量名還亂標(biāo)的,樣例沒過,開始調(diào)代碼,
      調(diào)了一個(gè)多小時(shí)放棄了,已經(jīng)忘記自己在寫啥了,比賽快結(jié)束的時(shí)間幾分鐘寫了個(gè)暴力,最后3分鐘的時(shí)候發(fā)現(xiàn)暴力是錯(cuò)的
      只會(huì)輸出-1,時(shí)間不夠不想調(diào),結(jié)果拿了20(不可以,總司令
      跟室友說我寫 T1 的過程給他們笑成大奮了

       

      T2            

      題目描述:

      (n,m≤200)

      暴力 O(n^4) 用二分優(yōu)化成 O(n3 log n) ,加了一點(diǎn)優(yōu)化之后感覺能過 n,m<=500,
      其實(shí)不是 O(n3 log n) 這個(gè)復(fù)雜度,加了一些奇怪的剪枝,復(fù)雜度玄學(xué),應(yīng)該小了很多,常數(shù)也小
      直接過了19個(gè)點(diǎn),沒開 long long WA了一個(gè),變成90了

       

      T3            

      題目描述:

      屏幕截圖 2025-08-13 091339(1≤T≤10,0≤S≤1e18,1≤M≤1e18,1≤N≤200,0≤ai≤1e5)

      沒時(shí)間了,暴力

       

      T4            

      題目描述:

      a29b0064-e000-40d3-8a31-77e811ae06df(k≤n,pos≤1e9,q≤2e5)

      第一遍題目沒看懂,只剩十幾分鐘了,不如去寫 T1 的暴力

       

      2025/7/28 統(tǒng)考【02】

      排名9/20
      沒時(shí)間,so沒寫模考總結(jié)

       

      2025/7/29 模考【09】

      排名8/20
      也沒時(shí)間,沒寫??伎偨Y(jié)

       

      2025/7/30 休息日【03】

      今天普通班結(jié)營,不能玩了(
      只能呆在班里自習(xí)

       

      2025/7/31 上課【分治思想】

      知識點(diǎn)             

      1.分治的基本思想
      2.CDQ分治

       

      CDQ分治

      解決形如求出xxx性質(zhì)的點(diǎn)對 (i,j) 的數(shù)量
      參考o(jì)iwiki
      可以把點(diǎn)對分成三類

      1.i,j<=mid
      2.i<=mid,j>mid
      3.mid<i,j

      可以往下遞歸區(qū)間把一和三類轉(zhuǎn)化成二類,然后用人類智慧求解二類點(diǎn)

       

      B題             

      (luogu 7115)

      先考慮 n=2 的情況,也就是只有0和1,充分發(fā)揮人類智慧想出 n=2 的解法后考慮擴(kuò)大問題規(guī)模,
      對于值為 [l,r] 內(nèi)的球,設(shè)一個(gè) mid=l+r>>1
      值小于等于 mid 的為 0 ,大于 mid 的為 1,然后按 n=2 的方法求出所有值在 [l,r] 的答案,
      遞歸求解 [l,mid] 和 [mid+1,r] 的答案

       

      2025/8/1 上課【樹上專題】

      知識點(diǎn)              

      1.樹剖求 LCA
      2.重鏈剖分+線段樹(樹剖完全體)
      3.長鏈剖分 O(n log n) - O(1) 求 k 級祖先

       

      B題              

      (洛谷 P1967)

      kruskal重構(gòu)樹求最大生成樹,對于詢問的每對點(diǎn)求其LCA即可

       

      F題              

       (洛谷 P2486)

      樹剖板子題,重鏈剖分+線段樹,線段樹維護(hù)區(qū)間左端點(diǎn)和右端點(diǎn)的顏色,
      如果左子區(qū)間的右端點(diǎn)顏色和右子區(qū)間的左端點(diǎn)顏色相同,那么顏色段為左右子區(qū)間顏色段之和減一
      其他的完全是樹剖板子

       

      H題              

      (洛谷 P2680)

      二分答案,然后樹上差分維護(hù)路徑和大于mid的路徑經(jīng)過的邊,枚舉每一條邊,
      如果大于mid的路徑都經(jīng)過這條邊且最大的路徑減去這條邊的邊權(quán)小于等于mid,那么返回true
      否則如果所有邊都沒法滿足條件,則為flase
      二分的左端點(diǎn) l 要初始化成0(

       

      2025/8/2 統(tǒng)考【03】

      排名13/20
      沒時(shí)間寫總結(jié)

       

      2025/8/3 統(tǒng)考【04】

      排名 2/20
      分?jǐn)?shù)150/400

       

        T1

        T2

        T3

        T4

      期望得分

      100

      10

      20

      10

      實(shí)際得分

      100

      10

      30

      10

      T1               

      題目描述:

      小信獲得了一種魔法積木:
      這是一種方格圖,要求方格連續(xù),且左邊界對齊,下一行不能比上一行長。
      現(xiàn)在我們可以往里面填1?n的數(shù)字,要求每個(gè)格子中的數(shù)字要大于等于左邊格子,嚴(yán)格大于上方格子。
      現(xiàn)在給定每一行的格子數(shù)量,求可能滿足條件的圖形數(shù)量。
      (k≤7)

      開局看完題目直接寫,決定記憶化,先寫了一個(gè)暴搜,測了下樣例,發(fā)現(xiàn)不對勁
      又測了
      7 7 6 5 4 3 2 1
      7
      的最極端數(shù)據(jù),發(fā)現(xiàn)只有 2e7 的復(fù)雜度,懷疑暴力寫錯(cuò)了,找了幾分鐘沒發(fā)現(xiàn)有什么錯(cuò)的,認(rèn)定這是水題

       

      T2               

      題意:

      給定 n 和一個(gè)數(shù)列 a ,每種數(shù)字可以變成 “A” 或 “B” 或 “C”,且每個(gè)數(shù)字都要變。
      問有多少種變法使得產(chǎn)生的字符串的所有子序列至少包含一個(gè)“ABC”,答案對1e8+7取模。

      (n≤3000)

      想T2想了挺久,想%40的數(shù)據(jù)點(diǎn),一堆假做法DP,最后只交了暴力

       

      T3               

      題目描述:

      (n≤1e6)

      測試點(diǎn)編號 1~3 ,n<=5? 打表!
      只跑出來 n=4 的,n=5 的跑到考試結(jié)束都沒跑出來(
      賽后 mwl大佬 告訴我直接暴力 n=5 大概是 10^43

       

      T4               

      屏幕截圖 2025-08-13 093739(n,q≤2e5,ai≤1e6)

      直接暴力了

       

      2025/8/3 統(tǒng)考【05】

      排名5/20

       

      2025/8/3 娛樂賽【最后一天!】

      題目挺好玩的,隨便寫了
      反正是娛樂賽
      第一次拿倒一有一種爽感

       

      2025/8/4 結(jié)營

      早上大家在班級念結(jié)營總結(jié),
      下午結(jié)營儀式,還有節(jié)目,挺有意思的,
      結(jié)營儀式結(jié)束就可以走了

      我班里念的結(jié)營總結(jié)是deepseek寫的,
      這里重新寫一份

       

      結(jié)營總結(jié)

      以前從來沒接觸過這種訓(xùn)練方式,每天都要寫一篇學(xué)習(xí)總結(jié),
      模考都要補(bǔ)完題,寫模考總結(jié),
      剛開始感覺挺累的,但是堅(jiān)持下來就沒事了,
      和自己學(xué)校的訓(xùn)練相比,嚴(yán)格了很多,但成長速度也快得多,
      我提高組的算法原來學(xué)的很不扎實(shí),都是自己亂學(xué)的,
      感覺自己不應(yīng)該在這個(gè)班,第一次??伎剂说挂灰矝]有很意外,
      記不清當(dāng)時(shí)怎么想的了,居然堅(jiān)持下來了。
      我覺得大部分是因?yàn)橥瑢W(xué)都很友善,
      大家會(huì)互相解答問題,互相討論題目,氛圍很好,
      他們的觀念是別人有疑惑時(shí)幫忙解答也會(huì)發(fā)現(xiàn)自己哪里掌握不扎實(shí),
      對自己也有很大幫助,我現(xiàn)在也認(rèn)為如此,營地期間也有幫別的同學(xué)解答上課的知識點(diǎn),
      會(huì)發(fā)現(xiàn)以為已經(jīng)完全掌握的算法其實(shí)也有一些地方掌握的不是很好,然后再繼續(xù)針對性地學(xué)習(xí)。
      大家總是稱呼別人“巨佬”,說自己是“蒟蒻”,甚至說自己是“傻*”,都很謙虛,
      ??伎疾盍耍牭阶疃嗟脑捠恰皼]事,你只是失誤了,你是個(gè)巨佬,我是蒟蒻”之類的。
      在這樣的環(huán)境里面進(jìn)步神速,這非??少F,從來沒有感受過。
      我可以理解為什么到外省訓(xùn)練是福建省的選手水平上升的原因了。
      (結(jié)營總結(jié)到這里結(jié)束了)

       

       

      關(guān)于現(xiàn)在我對信奧的看法

      它不只是升學(xué)的工具,對現(xiàn)在的我來說,學(xué)信奧不為升學(xué),而是為了證明它不比其他競賽學(xué)科差,
      它有自己獨(dú)特的魅力,絕不是某些人口中在機(jī)房打游戲。信奧路上能獲得很多樂趣、友誼,它讓我感受到屬于學(xué)習(xí)的快樂,我會(huì)堅(jiān)持下去。

       

      posted @ 2025-08-13 09:42  Flax_shiep  閱讀(67)  評論(2)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产拗精品一区二区三区| 深夜福利资源在线观看| 亚洲精品亚洲人成人网| 亚洲成色精品一二三区| 欧美videos粗暴| 欧美人与动牲交a免费| 精品偷拍一区二区三区| 北条麻妃一区二区三区av高清| 日本不卡一区二区三区在线| 欧美成本人视频免费播放| 女人与牲口性恔配视频免费| 久久久无码精品亚洲日韩蜜桃| 国厂精品114福利电影免费| 伊伊人成亚洲综合人网7777| 四虎在线成人免费观看| 中文字幕亚洲综合久久综合| 中文字幕一区二区三区麻豆| 99精品国产综合久久久久五月天 | 亚洲成人av免费一区| 少妇人妻偷人偷人精品| 日韩精品一区二区三区激情视频| 国产尤物AV尤物在线看| 精品无码国产日韩制服丝袜| 国产乱人伦无无码视频试看| 精品久久久久中文字幕日本| 亚洲色一色噜一噜噜噜| 久久婷婷综合色丁香五月| 国产一级精品在线免费看| 亚洲AV美女在线播放啊| 无码人妻aⅴ一区二区三区蜜桃| 综合在线 亚洲 成人 欧美| 亚洲男女一区二区三区| 中文字幕人妻不卡精品| 色综合色综合综合综合综合| japanese无码中文字幕| 日韩精品不卡一区二区三区| 日日橹狠狠爱欧美视频| 一区二区三区不卡国产| 国产一区二区在线观看粉嫩| 与子敌伦刺激对白播放| 在线观看特色大片免费网站 |