06 2021 档案
摘要:链接:https://ac.nowcoder.com/acm/problem/16693来源:牛客网 题目描述 有一个箱子容量为V(正整数,0 ≤ V ≤ 20000),同时有n个物品(0<n ≤ 30),每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
阅读全文
摘要:例1:题目: 从左下走到右上有多少种走法 #include<stdio.h> int a[7][7]; int main() { a[5][1]=1; for(int j=1;j<=5;j++) { for(int i=5;i>=1;i--) { if(i==5&&j==1) a[i][j]=1;
阅读全文
摘要:题目: 链接:https://ac.nowcoder.com/acm/problem/16619来源:牛客网上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/15291 题目描述 定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。 比如说,47、744、4都是幸运数字而5、17、467都不是。 定义next(x)为大于等于x的第一个幸运数字。给定l,r,请求出next(
阅读全文
摘要:题目:https://ac.nowcoder.com/acm/problem/16591 思路一: 用贪心 首先通过冲突从大到小排序 通过扩展域并查集尽可能的把冲突大的分别分到两个不同的监狱,直到要分的两个已经在一个集合,那就得到最大值最小的那个了 遍历的时候清醒一点,不要把n,m搞混了 #incl
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/14572、 如果能从起点走到终点就可以,用vis来记录是否走过 如果这个地点是'.'或‘E'就是可以走的 #include<stdio.h> #include<string.h> #include<queue> usi
阅读全文
摘要://打表 深搜行,所以不需要测验行 题目: http://acm.hdu.edu.cn/showproblem.php?pid=2553 #include<stdio.h> #include<string.h> int n; int ans; int v[55]={0},z[55]={0},c[55
阅读全文
摘要:题目:https://ac.nowcoder.com/acm/problem/15295 思路: 结构体的id用来记录这个点,不然排序会把点的顺序打乱 排四个序,分别代表上下,左右,正对角线,副对角线 注意排序时遇到相等的,要根据其他坐标来排,例如x相同时,y最小的威胁只有右边,y最大的威胁只有左边
阅读全文
摘要://从n个数里面选m个数来组合 #include<stdio.h> #include<string.h> const int maxn=1e5; int a[maxn],v[maxn],n,m; void dfs(int x) { if(x>m) { for(int i=1;i<m;i++) pri
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/106585 思路: 与传统并查集的区别在于这种每个集合内部的上下关系用rank来维护,各个集合之间的合并因为是整个的所以可以用size来维护 size[i]为根为i的集合的大小 #include<stdio.h>con
阅读全文
摘要:扩展域并查集 题目: https://ac.nowcoder.com/acm/problem/16884 x是A,x+n是B,x+2n是C #include<stdio.h>const int maxn=150000;int f[maxn];int find(int x){ return x==f[
阅读全文
摘要:e是幺元 a[ ]e=e[ ]a=a; 例如: 比如[ ]运算是乘法 a*1=1*a=a; 推出幺元e=1; 比如[ ]运算是加法 a+0=0+a=a; 推出幺元e=0; 求a关于[ ]运算的n次快速幂 res=e,temp=a; while(b) { if(n&1) res=res[ ]temp;
阅读全文
摘要:覆盖问题 题目: https://ac.nowcoder.com/acm/contest/17345/E 思路: 从后往前遍历 不断更新standard 如果比s大,那么ans++ #include<stdio.h>const int maxn=1e6+7;int a[maxn];int n;int
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/contest/17345/D 思路: 或者是说倒序相加 1Cn1+2Cn2+3Cn3+....(n-1)cn(n-1)+nCnn nCnn+(n-1)Cnn-1+...................1Cn1 ans=[n*(2^n-
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/50940 参考的题解: https://blog.nowcoder.net/n/f7f7a3a1d5c44db8ab838ef2e2dbeaac 思路: 一个大根堆,一个小根堆,通过维护使两个堆的数量不超过1 这个格式
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/17857 思路:用全0和全1的串分别去经历一遍 位运算时每位都是独立的 0最终变1 ,肯定是1; 1最终是1,如果这个数这一位取了1且<=m,那么这位是1; #include<stdio.h>int main(){ u
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/25043 //思路:需要推出贪心的式子,后面的和接水一个原理 #include<stdio.h>#include<algorithm>using namespace std;const int maxn=1e5+7;s
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/16783 不能看字典序 反例 31 32 3 按字典序:32313 是错误的 而正确的是32331 应该在排序时a+b>b+a; #include<iostream>#include<string>using name
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/20241 代码: //枚举第一个,第二个可以算出来,后面都可以就可以推断,如果小于0则不合理,最后一个second[n]只和两个有关,要单独拉出来判断#include<stdio.h>int main(){ int n
阅读全文
摘要:题目: https://ac.nowcoder.com/acm/problem/207040 思路:离得最远的两个小朋友离得有多远 两个小朋友的距离为沿着圆圈顺时针走或者逆时针走的最近距离 两种情况: >=周长的最小距离 <=周长的最大距离 由于a到b 和 b到a是对称的,所以算一种就都算到了 #i
阅读全文
浙公网安备 33010602011771号