上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
该文被密码保护。 阅读全文
posted @ 2020-07-13 10:20 阿斯水生产线 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 碎点 题意:给三个数组,让你从每个数组中各挑一个数满足两两之差的平方和最小。 思路:若想满足两两之和的平方差最小,则满足确定一个数t,其余两个数各是其数组中大于等于t和小于等于t的数。 用lower和--upper即可 #include <iostream> #include <cmath> #in 阅读全文
posted @ 2020-07-13 10:10 阿斯水生产线 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 要保证a函数为从小到大排序的,所以要用sort rep(i,1,n) cin>>a[i]; sort(a+1,a+1+n); do{ rep(i,1,n){ cout<<a[i]<<sp; } cout<<endl; }while(next_permutation(a+1,a+1+n)); 阅读全文
posted @ 2020-07-11 12:47 阿斯水生产线 阅读(125) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-11 10:27 阿斯水生产线 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题意:给了4个数0,1,2,3。的数量a,b,c,d。要组成一个排列abs(ai+1-ai)等于1。组成不了则输出no,否则输出任意排列顺序。 思路:ifelse暴力肯定是能做的。最先是想查询从出现最多次数的数字贪心,如果前面一个数的数量不等于0,则游动下标pos--,否则pos++;后来发现这样有 阅读全文
posted @ 2020-07-09 16:34 阿斯水生产线 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题意:给了一个无向图和a,b两点。问存在多少对x,y,使得x到y的路上必须经过a,b。x,y和y,x算作一种情况。 思路:很明显就能想到。如果存在环,环中的点包括了a或者b,则答案为0,否则答案为a和b两边的点的数量积。 最初的想法太复杂,看到了一个特别简单的写法能之间秒。 可以先对a点进行标记,然 阅读全文
posted @ 2020-07-08 16:35 阿斯水生产线 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题意:给n个01字符串,让你进行k下操作,使得t字符串翻转,使得n个字符串存在一个顺序,使得ai+1的首字母和ai相等。使得k最小,输出这k个数。(注意变化前和变化后的字符串不重复) 思路:只有四种字符串,记录下每种字符串的数量。如果11,00,都不为0,且10,01为0,则无解。 考虑sum1和s 阅读全文
posted @ 2020-07-08 14:34 阿斯水生产线 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 太久没写bfs,写法想错了算错了复杂度 题意:x坐标上,给了n个圣诞树的坐标,让你再求出m个人点,使得这m个人的点到最近的圣诞树的和最小,这n+m个点distinct。 思路:之间裸bfs。因为x1e9,可以用map<int,int> vis;//用map记录是否访问过。 #include <ios 阅读全文
posted @ 2020-07-07 11:18 阿斯水生产线 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 贪心瞎搞 题意:给了n个数,对于任意i,ai都可以变成ai+1,ai-1,ai三个位置。问进行任意次操作,最少和最多可以覆盖多少个数。 思路:排序a从小到大,对于每一个ai,优先选择左面的(ai-1)没有选择的位置,最后被标记的位置数列即使最多的个数。 优先选择最右面的(ai+1)选择了的位置,如果 阅读全文
posted @ 2020-07-07 11:03 阿斯水生产线 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 还以为是把1,4,7,10,13搞成1,4,7,10,13,1,4,7,10,13,然后用kmp的思想,👎 思路:给你一个n*m的矩阵,你可以进行若干次操作 op1:让一列往上移动一位。 op2:让一个位置的数改变。 思路:每列单独进行思考。对于第一列,若n为5,m为3。给你n数,问你进行最少多少 阅读全文
posted @ 2020-07-04 16:36 阿斯水生产线 阅读(173) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页