- 博客(23)
- 收藏
- 关注
原创 第十七周 DMY 每日一题
可以通过异或的性质可以知道当两个数相加的为2^m-1的时候则俩个数异或之后的结果全是1,同时很容易知道对于除了当m=1的情况以外其他都是有偶数对相加等于2^m-1的存在,故选所有的进行异或后得到的结果为0,而当取奇数对进行异或后会得到m个1,则假设对剩下的x进行异或将会得到2^m-1-x,故对于样例中要得到3,除了3不取之外其他的都取即可,但是对于m=1的情况下只有1对,则需要进行特判。其中a[x][y]用来储存树的位置,假设有树则a[x][y]=1。一个简单的浮点数的二分答案,没有什么难度。
2023-04-17 10:27:45 127
原创 第五次双周赛
主要是并查集的运用,首先可以跑一遍并查集,查看有多少个联通块,后续每失去一个城市就跑一遍并查集,如果相较于之前的联通块的数量增加,则说明这个城市的失去会导致国家的分裂,则会有红色警报,同时及更新目前的联通块个数,同时要注意细节处理如果k==n,则在最后要输入Game Over。主要是注意细节,一是假设k等于1,虽然此人不需要进行处理但是还需要有cin的操作,不能直接continue,要不然会运行超时,二是要注意如果用的是数组储存,对于00001,它只会输出1,故需要人为进行补全。根据题意走一遍模拟就好了。
2023-04-14 10:19:19 179
原创 第15周 DMY 每日一题
一道区间DP问题,但是首先要进行预处理,用s[i][j]表示由i*到j的值,用一个二维动规数组f来做区间dp,dp[i] [j]意思是合并i到j可以得到的最大分数,然后再通过枚举区间长度len,注意len是由2开始,求每个区间内可以得到的最大分数,最后答案为f[1][n]很简单的贪心算法题,首先将所输入的数字进行从大到小排序,如果前后两个相差大于所给的K值则代表着,后面的不可能获胜,而所有可能获胜的人则为该点前面的人。2.用 last[s[i]] 记录字母 s[i] 上一次出现的位置;
2023-03-31 10:41:21 225
原创 算法学习-模拟与高精度
本文章为初学算法小白撰写的学习笔记,包含学习该算法的途径,内含本人觉得有用的大佬的文章,以及一些自己的代码,详细的备注,以及需要注意的易错点。
2022-10-27 20:14:37 2227 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人