普转提Day2】的更多相关文章

T1 给定一个区间,求这个区间中只有一个数字与其他数组不相同的数的个数. 给出的区间范围较大,但是要求的数比较少.所以我的想法是这样的:因为这些数只有一个数字和每个数字都相同的数不同,所以考虑将所有数字都相同的数处理出来(不算0总共有126个).那么每次枚举这些数,将其中的一个数字改掉,再去判断更改后的数字是否在区间内,是的话就累计一下答案,最后再单独处理*00000...的情况.但是我在预处理数的时候最后一组忘记处理出来了,而且在开头数字没有处理好,得分80. 范围<=1e16 T2 给出一个…
ZROI #364. [2018普转提day18专题]嘤嘤嘤 直接贴代码 具体见注释 #include<stdio.h> #include<cstring> #include<cstdlib> #include<algorithm> #include<vector> #include<map> #include<set> #include<cmath> #include<iostream> #inc…
ZROI #365. [2018普转提day18专题]嘤嘤嘤嘤 直接放代码 具体做法见注释 #include<stdio.h> #include<cstring> #include<cstdlib> #include<algorithm> #include<vector> #include<map> #include<set> #include<cmath> #include<iostream> #…
ZR普转提2 A 谢谢刁神教我A题 刚开始读错题了,以为是一个不可做的数位DP,然后就暴力滚粗 直到问了问刁神,发现自己题意是错的 然后成了比较简单的题目 直接暴力枚举每一位填什么,剩下的位数的数字都要相同 枚举完之后暴力check,除以去掉点缀0的不合法情况,以及 1e16有17位数字 代码就不放了 B 果然听别人的思路再考一遍还是不会 有点类似于AB班的那一道括号匹配的题目 我们想\(A,B,C\)出现的次数相同 也就是把相同的一段扣去 A,B,C出现次数的差是不变的 这就启示我们去维护\(…
ZR9.8普转提 A,B 打过的CF原题,不管了 C 确认过眼神,是我不会写的DP, 发现这个题目要求的过程类似与一个所有括号都不一样的括号匹配的过程 但是限制条件非常多,有点无从下手的感觉 我们设\(f_{i,j}\)表示当\(i\)出栈前,\(i\)在栈底,\(i\)和他上面的所有物品重量不超过\(j\)时的最大价值 但是这样很难统计贡献,因为最终状态的栈是空的 我们考虑在栈的底部放一个永远不会被弹出的东西 他的参数是\(in:0,out:2\times n+1,w:0.s:w,v:0\)…
传送门 分析 记录区间最大值,线段树上二分找比这个点大的最靠前位置即可 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include<queue> #inc…
传送门 分析 居然卡哈希数,万恶的出题人...... 感觉我这个方法似乎比较呆,我的代码成功成为了全网最慢的代码qwq 应该是可以直接哈希的 但由于我哈希学的不好又想练练线段树维护哈希,于是就写了个线段树维护了一下哈希值 详见代码 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cct…
传送门 分析 一道有意思的小题... 我们发现如果$(1,1)$为白色,则将其变为白色需要偶数次操作,而如果为黑色则需要奇数次操作 我们知道要让A赢需要奇数次操作,所以我们只需要判断$(1,1)$的颜色即可qwq 代码 #include<bits/stdc++.h> using namespace std; int t,n,m; int main(){ int i,j,k; scanf("%d",&t); while(t--){ scanf("%d%d&q…
传送门 分析 首先我们不难想到我们一定可以将每一个点分开算,然后看这个点被几个矩形包含 于是对于位置为$(i,j)$的点它被包含的次数为$i * (n-i+1) * j * (m-j+1)$ 这个式子的意义为,对于在第$i$行的点,它上面可以选$0$~$(i-1)$行,它下面可以选$0$~$(n-i)$行 列的情况与行相同 代码 #include<bits/stdc++.h> using namespace std; #define ui unsigned int int main(){ ui…
传送门 分析 就是飞飞侠这道题...... 我们可以将这张图建成好几层,每一层可以向下一层的上下左右无代价移动,而对于每个点如果付b[i][j]的代价就可以走到比它高a[i][j]的层上.我们用这种方式优化了建边,然后跑个最短路就行了. 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<…