医院网站站群建设,百度一下百度,免费咨询图标,炫酷个人网站php源码#x1f680;write in front#x1f680; #x1f4dd;个人主页#xff1a;认真写博客的夏目浅石.CSDN #x1f381;欢迎各位→点赞#x1f44d; 收藏⭐️ 留言#x1f4dd; #x1f4e3;系列专栏#xff1a;ACM周训练题目合集.CSDN #x1f4ac;总结#xff1a… write in front 个人主页认真写博客的夏目浅石.CSDN 欢迎各位→点赞 收藏⭐️ 留言 系列专栏ACM周训练题目合集.CSDN 总结希望你看完之后能对你有所帮助不足请指正共同学习交流 ✉️为什么我们不知疲倦因为我们都在做自己所热爱的事 ♐ 文章目录A - Color the ballB - SuitsC - 六度分离D - 无处不在的宗教E - 农场派对F - 怪物简易版G - 嫌疑犯比赛情况总结A - Color the ball
杭电—Color the ball 解题思路考察差分数组基础模板
#includeiostream
#include cstringusing namespace std;int arr[100010];
int n,i;int main()
{while(scanf(%d, n), n!0){memset(arr, 0, sizeof(arr));for(i1;in;i){int l,r;cinlr;arr[l];arr[r1]--;}for(i1;in;i){arr[i]arr[i-1];if(i!n){printf(%d , arr[i]);}else printf(%d,arr[i]);}coutendl;}return 0;
}B - Suits
洛谷—Suits 解题思路数学问题一直分类讨论就可以解了
#includeiostream
#includealgorithm
#includecstring
#includecmathusing namespace std;int a,b,c,d,e,f;
typedef long long ll;
ll m1,m2;
ll mn-1;int main()
{ cinabcdef;int max0;int mnmin(a,d);int mxmin(c,d);if(e*mnf*min(b,min(c,d-mn))max){maxe*mnf*min(b,min(c,d-mn));}if(e*min(a,d-min(b,mx))f*min(b,mx)max){maxe*min(a,d-min(b,mx))f*min(b,mx);}if(e*mnmax){maxe*mn;}if(f*min(b,mx)max){maxf*min(b,mx);}coutmax;return 0;
}C - 六度分离
杭电—六度分离
#includeiostream
#includealgorithm
#includecstring
#includecmathusing namespace std;#define inf 0x3f3f3f3fint g[101][101];
int n,m,ans;int main()
{while(cinnm){for(int i0;in;i){for(int j0;jn;j){if(ij) g[i][j]0;else g[i][j]inf;}}while(m--){int a,b;cinab;g[a][b]g[b][a]1;}for(int k0;kn;k){for(int i0;in;i){for(int j0;jn;j){if(g[i][j]g[i][k]g[k][j]){g[i][j]g[i][k]g[k][j];}}}}//以上全部是模板int flag0;for(int i0;in;i){for(int j0;jn;j){if(g[i][j]7){puts(No);flag1;break;}}if(flag) break;}if(flag0)puts(Yes);}return 0;
}D - 无处不在的宗教
POJ无处不在的宗教 //水题竟然我也能AC....
#includeiostream
#includealgorithm
#includecstring
#includecmathusing namespace std;int n,m;
int p[100010];int find(int x)
{return p[x]x?x:(p[x]find(p[x]));//算法模板}
int s1;
int main()
{cinnm;
again:int ans0;for(int i1;in;i) p[i]i;while(m--){int i,j;cinij;ifind(i);jfind(j);if(i!j){p[i]j;//模板}}for(int i1;in;i){if(find(i)i){ans;}}printf(Case %d: %d\n,s,ans);cinnm;if(n0m0) return 0;else goto again;return 0;
}E - 农场派对
#10075. 「一本通 3.2 练习 1」农场派对
#includeiostream
#includealgorithm
#includecstringusing namespace std;#define inf 0x3f3f3f3f//结论一个很大的数适合这个算法的初始化int n,m,x;
long long g[1010][1010];
long long path[1010][1010];int main()
{int max0;cinnmx;for(int i1;in;i){for(int j1;jn;j){if(ij) g[i][j]0;else g[i][j]inf;}}for(int i1;im;i){int a,b,t;cinabt;g[a][b]t;}for(int k1;kn;k){for(int i1;in;i){for(int j1;jn;j){if(g[i][j]g[i][k]g[k][j]){g[i][j]g[i][k]g[k][j];}}}}//以上全部是算法模板for(int i1;in;i){if(g[i][x]g[x][i]max)//这里根据题目要求来写就对了调试了一会儿AC了{maxg[i][x]g[x][i];}}coutmaxendl;return 0;
}F - 怪物简易版
A. Monsters (easy version)
#includeiostream
#includealgorithm
#includecstring
#includecmathusing namespace std;typedef long long ll;ll t,n,arr[200010],i,j;int main()
{cint;while(t--){ll cnt0;cinn;for(i1;in;i) cinarr[i];sort(arr1,arrn1);if(arr[1]!1){cntarr[1]-1;arr[1]1;}for(i2;in;i){if(arr[i]-arr[i-1]2){cntarr[i]-arr[i-1]-1;arr[i]arr[i-1]1;}}coutcntendl;}return 0;
}G - 嫌疑犯
The Suspects
#includeiostream
#includealgorithm
#includecstring
#includecmathusing namespace std;int n,m,ans,k;
int p[100010];
int a[100010];int find(int x)
{return p[x]x?x:(p[x]find(p[x]));//并查集的固定模板
}inline void he(int i,int j)
{int xfind(i);int yfind(j);if(xy)//这里意思是让小的数做根节点也是为了贴近题目要求{p[y]x;}else p[x]y;
}int main()
{while(cinnmn||m){ans0;for(int i0;in;i) p[i]i;//初始化while(m--){cink;cina[0];//合并for(int i1;ik;i){cina[i];he(a[i],a[i-1]);}}for(int i0;in;i){if(find(i)0)//根据题意来求解。{ans;}}coutansendl;}return 0;
}比赛情况
大一第十前面有个学长试水~退步好多这一次下面做一下这一周比赛的一个总结以便于后面的学习。 表述题目难度以及做题时候的感想 A---临时加上去的感觉学长们为了照顾那些爆0的同学加的简单差分模板。
B---这个是我第二个做出来的花费了我巨多时间哭了我的思维还是不够敏捷需要多加练习思维题目不然这种题目大家都拿到了我还要花好多时间才能过真的很难受的
C---没时间做后面自己尝试了一下子发现只要根据题目逻辑去写是完全套板子的问题就是多加一点循环和判断的问题。
D---这个更加的板子我一次可AC了非常模板。
E---Floyd算法的板子题目我第一个AC的这个题目相对于板子只需要加一点判断就可以了简单。
F---没时间做后面自己尝试了一下子思维题被我的好哥们讲懂了我还是不擅长写思维题目脑子很笨。
G---这个比赛的时候写了but没写完全就结束了后面补了一下题发现这个题目就是并的时候需要注意外别的就是板子害我可能太笨了。
总结 心态就是可能看到别人比我聪明就心里非常难受比赛的时候落后心里更是难受觉得算法好难学啊好想退缩但是算法迟早是要学习的不如顶住压力好好学哪怕倒数第一也要勇往直前放平心态继续加油夏目浅石。 学习方法一定要学会思考把每一周的题目自己独立思考至少30min后不会了再去看答案学习人家的思路不然效率很低下。还有就是昨完一定一定要总结模板和总结思路总结题型 时间安排后续要晚上7-10点好好学习算法到宿舍补一补学校课程看看网课学校课程能逃就逃然后学点有用的。 虽然很苦难但是还是要继续坚持下去。 激励一下自己吧虽然挺难过的