摘要: A Garbage Classification 模拟题 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 5 int main() 6 { 7 int t; 8 scanf("%d",&t); 9 getchar(); 10 for(int 阅读全文
posted @ 2019-08-04 00:16 nlc_x 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1001.AND Minimum Spanning Tree 题意:已知一个完全图,共有N个点,按1-N编号,点与点之间的边权为两点的编号相与,求权值和最小生成树,相同权值和输出最小的字典序方案 思路:为了保证可以得到权值和最小,对于每个点可以贪心的去找与其与值最小的点,为保证字典序最小,应找到第一 阅读全文
posted @ 2019-08-01 23:22 nlc_x 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题意大概是求l-r区间异或最大值,很明显是线性基,题中会有两个操作,一个是查询l-r之间的异或最大值,另一个是对于在当前数组后加入一个值,题意为了防止离线求解,操作的值特意加上了异或上一个ans的条件 思路:通过对于线性基的性质,我们可以维护前缀线性基,保存每个元素的位置,在加入base[i]里时, 阅读全文
posted @ 2019-07-30 14:50 nlc_x 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 代码千万条,规范第一条 训练赛的时候打表找规律,发现答案是1/(st-pre-1)!,奈何用错了模板,一直TLE到比赛结束,一直以为是卡什么输入输出或者是两个素数相差太大导致复杂度过高,读入优化啥的都往上搞qaq,太菜了,没想到是mrt板子的锅qaq 题意:求解n!%p ,n为p前面第一个素数,p也 阅读全文
posted @ 2019-07-29 22:38 nlc_x 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 这题是原来cf上的一道原题,不过对于有一些数据范围修改了,不过还是很好想的 题意:给定一个长度为N的数组,对于数组中的每个位置,满足当前和小于M所需要去掉的最小代价 分析:对于当前是否需要进行去掉一些值,可以采取贪心的方法,对每次加入进来的数进行排序,当前是否需要删除一些值取决于当前的所有值的和,当 阅读全文
posted @ 2019-07-29 21:55 nlc_x 阅读(236) 评论(0) 推荐(1) 编辑
摘要: 起初看到这道题的时候,草草就放过去了,开了另一道题,结果开题不顺利,总是感觉差一点就可以做出来,以至于一直到最后都没能看这道题qaq 题意:类似于操作系统上讲的LRU算法,有两个操作,0操作代表访问其中的块,如果命中,将该块去除放到数组的末尾,未命中则在数组末尾加入当前块,1操作是询问数组中是否存在 阅读全文
posted @ 2019-07-28 21:44 nlc_x 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 本题主要是对用容斥的使用,正难则反,对于要求满足题意的可以求不满足题意的 先考虑对于长度至少为2的连续序列,易得其排列C(n,1)*(n-2)!,意为从剩下n个数字中选取连续的两个。 方法总计为n,即从n种中选取一个,剩下所有元素进行全排列 由此可以类比到选取k(0-n-1)个连续的元素,即排列总数 阅读全文
posted @ 2018-08-22 20:16 nlc_x 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 由于其中的2操作非常多,我们就需要将其快速的更改,就会用到组合数的东西 其实自己手写一下就可以发现对于一个点增加的值在经过不断地前缀和累加过程中对于一点的贡献满足杨辉三角 所以我们就需要记录一下其中的2操作数,在线操作 一点(i,j)在进行t次操作后对于(t,y)的贡献为C(t-i+y-j-1,t- 阅读全文
posted @ 2018-08-21 10:12 nlc_x 阅读(160) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std; int f[210][210]; int main() { int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); if(n%2!=0&&m%2!=0) { ... 阅读全文
posted @ 2018-08-16 10:33 nlc_x 阅读(95) 评论(0) 推荐(0) 编辑