2017 11 7解題報告

2021-09-07 15:40:12 字數 2428 閱讀 7089

原題,洛谷廣義斐波那契數列

矩陣快速冪水過

不過這題的模數很小,可以找迴圈節

#include#include#include#include#define ll long long 

using namespace std;

const ll mod=7;

inline ll read()

while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*f;

}struct ma

};ll a,b,n;

ma mul(ma a,ma b)

inline void ma_pow(ma bg,ll p)

printf("%lld",(base.a[1][1] % mod + base.a[2][1] % mod)% mod);

}int main()

ma bg;

bg.a[1][1]=a%mod;bg.a[1][2]=1;

bg.a[2][1]=b%mod;bg.a[2][2]=0;

ma_pow(bg,n-2);

return 0;

}

不會

正解:

其實這樣一想,這個玩意兒就是卡特蘭數。。

#include#include#include#include#define ll long long 

using namespace std;

const int mod=7;

int main()

while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*f;

}struct node

edge[maxn];

int head[maxn];

int num=1;

inline void add_edge(int x,int y,int z)

int n,m;

int dis[1001][1001];

int nowdis[1001];

int vis[maxn];

inline void bfs(int now)

}inline void spfa(int now)}}

for(int i=1;i<=n;i++)

dis[now][i]=min(dis[now][i],nowdis[i]);

}int main()

for(int i=1;i<=num-1;i++)

for(int i=1;i<=num-1;i++)

if(edge[i].flag!=1)

edge[i].w=0;

for(int i=1;i<=n;i++)//列舉每乙個點

while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*f;

}struct edge

edge[maxn];

int head[maxn];

int num;

edge()

inline void add_edge(int x,int y,int z)

}e1,e2;

int dfn[maxn],low[maxn],vis[maxn],color[maxn],colornum,tot=0;

stacks;

int tarjan(int now,int fa)

if(dfn[now]==low[now])

while(top!=now);

}}struct d

struct m}mx;

void clear()

int dfs(int now,int fa)

}}d1,d2;

int main()

for(int i=1;i<=n;i++)

for(int i=1;i<=e1.num-1;i++)

if(color[e1.edge[i].u]!=color[e1.edge[i].v])

e2.add_edge(color[e1.edge[i].u],color[e1.edge[i].v],e1.edge[i].w);

d1.dfs(1,-1);

d1.clear();

d1.dfs(d1.mx.pos,-1);

d2.dfs(d1.mx.pos,-1);

for(int i=1;i<=n;i++)

printf("%d\n",max(d1.dis[color[i]],d2.dis[color[i]]));

return 0;

}

考的還可以吧,t2做不出來純屬能力問題

t3我就不多說啥了。。

2017 11 7解題報告

原題,洛谷廣義斐波那契數列 矩陣快速冪水過 不過這題的模數很小,可以找迴圈節 include include include include define ll long long using namespace std const ll mod 7 inline ll read while c 0...

Block Voting 解題報告

這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...

Safebreaker 解題報告

又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...