- 博客(31)
- 收藏
- 关注
原创 cf 1284B-New Year and Ascent Sequence
题目大意:在n个序列里面找到n2个联结串里面存在一对索引(i,j)使得1≤i<j≤l且ai <aj的联结串的个数. 思路:如果一个序列本身就存在这么一对索引,那么他可以和其他所有的序列组合, 找到这样的序列标记一下,我们设置一个前缀数组, 记录每个序列的最小值, 并计算他们最小值的前缀和pre,pre[i]代表序列最小值小于i的序列有几个.那么怎么找到答案呢,只需要对n个序列的最大值...
2020-01-05 09:52:31
684
原创 cf -1278c-Berry Jam(前缀后缀和)
题意:在含有2n个数的1-2序列里面,从中间开始,可以往左或者往右删除任意个数,使得最终的序列里面的1和2的个数相同。 题解:输入的2变成-1,我们只需要找到一个n之前的前缀和(包括n),和n之后的后缀和,使得他们的和为0,前缀查找复杂度logn,后缀遍历复杂度n,总体复杂度nlogn。 代码: #include<bits/stdc++.h> const int N=2e5+5; co...
2020-01-04 16:57:39
614
原创 2个循环数组求卷积的最大值
给2个大小为n的数组,求卷积的最大值 fft sum1是x(n+1)的系数sum2是x(n+2)的系数和x2的系数和,类推,fft跑一遍复杂度nlogn #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #d...
2019-12-09 20:01:19
788
原创 POJ 1195 Mobile phones
树状数组模板题 当n1, a[x][y]+=w; 当n2 计算a[x1][y1]到a[x2][y2]之间矩阵的元素和 当n==3退出 #include<iostream> #include<string.h> #include<cstdio> using namespace std; typedef long long ll; const int N = 102...
2019-12-09 17:13:47
170
原创 插入,归并,希尔,快排,基数排序的C++实现
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int maxn=5e5+5; int n; int a[maxn]; int temp[maxn]; int dt[maxn]; ll num=0; v...
2019-12-09 16:58:39
143
原创 求huffman编码
给定字符串,求哈弗曼编码表和相应的huffman编码 #include<bits/stdc++.h> #include<iostream> #include<cstdio> using namespace std; const int inf=0x3f3f3f3f; typedef struct{ int weight; int parent, lchild...
2019-12-09 16:52:42
291
原创 java输出2的n次方
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String args[]) { Scann...
2019-12-08 14:15:09
5641
原创 学生信息管系统(顺序表和链表)
//顺序表 //Seqlist.h #ifndef SEQLIST_H #define SEQLIST_H #include<iostream> #include<cstdio> #include<iomanip> using namespace std; const int MAXSIZE=100; #define OK 1 #define ERROR 0 #...
2019-11-18 13:35:39
673
原创 KMP算法DNA的病毒检测
DNA为环状检测一个DNA中是否有病毒DNA序列 #include<string> #include<iostream> #include<cstdio> #include<string.h> using namespace std; typedef long long ll; const int maxn=1e5+5; char x[maxn],...
2019-11-18 13:29:17
2050
原创 先序创建二叉树与二叉树的三种遍历
#include<iostream> #include<cstdio> using namespace std; #define TElemtype char const int maxn=1e4+5; char a[maxn]; typedef struct BiTNode{ TElemtype data; struct BiTNode *lchild, *rchi...
2019-11-16 15:21:17
298
原创 数据结构:BFS求迷宫最短路径
bfs+队列求迷宫的最短路径, 类模板实现队列,A表示起点,B表示终点 #ifndef BFS1_H #define BFS1_H #include<stack> #include<memory.h> #include<iostream> #include<cstdio> using namespace std; typedef long long ...
2019-11-12 12:03:01
364
原创 cf 575 D1. RGB Substring (easy version)
The only difference between easy and hard versions is the size of the input. You are given a string s consisting of n characters, each character is ‘R’, ‘G’ or ‘B’. You are also given an integer k. Yo...
2019-11-06 11:29:32
298
原创 2018徐州区域赛A. Rikka with Minimum Spanning Trees-最小生成树
题意:算出最小生成树的总边权和乘上不同最小生成树的个 题目给的生成随机数通过异或和位移 , 每次生成不同的32位, 周期为2的32次方减1。 重边的概率很小 也就是最小生成树如果有的话只有一个。 跑一遍Kruskal即可 /************************************************************************* > File Nam...
2019-11-06 10:38:53
503
原创 Chino with Equation
题目描述: Chino的数学很差,因此Cocoa非常担心。今天,Cocoa要教Chino解不定方程。 众所周知,不定方程的解有0个或者若干个。 给出方程:x1+x2+x3+…xm=n (m<=n) Cocoa想知道这个不定方程的正整数解和非负整数解各有几个。 题目对Chino来说太难啦,你能帮一帮Chino吗? 输入描述: 两个正整数m, n。 输出描述: 题目要求的答案,即正整数解的个数...
2019-11-02 22:04:37
238
原创 codeforces 596 C. p-binary
题意:给n和k,问最少的(2^i-k)使得他们的和为n,求最少的这种式子的个数 思路: 当进行i次的n-=k,看是否n的二进制数里的1的个数小于i并且n>=i; 代码: #include<bits/stdc++.h> typedef long long ll; using namespace std; int n,k,ans=-1; int main() { cin>&...
2019-10-27 16:04:15
245
原创 ubuntu解决codeblocks输出中文乱码
在setting 里面找到environment ,在general setting 的最下面terminal to launch sonsole programe这里的xterm -T $TITLE -e 改成 gnome-terminal -t $TITLE -x 就可以了
2019-10-14 12:40:17
505
原创 codeforces 1183H - Subsequences (hard version)
加粗样式###### 题意:给你个长度为n的字符串,问是否可以获得一个大小为k的子序列集合,如果不行输出-1否则输出最小花费(得到一个子序列t的花费为|s|-|t|); 加粗样式###### 思路:dp[i][j]代表前i个字符,删除j个字符得到的子序列数目,dp[i][j]=dp[i-1][j-1]+dp[i-1][j],显然这样会出现重复的子序列,例如abcdxyx,删除了xy掉和删除掉yx是...
2019-09-28 11:19:29
206
原创 Codeforces-1230C-Anadi and Domino
题意:有如图所示的 21 个多米诺骨牌,给定一个无向图(无自环,无重边),一条边上可以放置一个多米诺骨牌。要求是如果两条边连接同一个顶点,那就必须使这两条边上的多米诺骨牌指向这个顶点的值相等,可以有不放的情况,问给定的图中最多可以放多少个多米诺骨牌。 思路:假设n<=6每条边都可以放满多米诺骨牌,当n=7时,必定有2个点对应的数字是相同的,那么怎么确定这2个点呢,我们可以假设点i和点j对应...
2019-09-25 19:49:54
360
原创 牛牛与牛妹的游戏
链接:https://ac.nowcoder.com/acm/problem/21626 题目: 牛牛 和 牛妹 正在玩一个游戏 牛牛扔了a个b面的骰子 牛妹扔了c个d面的骰子 对于一个x面的骰子,每个面依次会写有1到x的数 一个玩家的得分就是每个骰子朝上的面的数字的总和,一个玩家能赢另一个玩家当且仅当得分严格大于另一个玩家,给你a,b,c,d,如果牛牛不可能赢,输出-1 否则假设你知道了牛牛赢了...
2019-09-25 12:43:29
1178
原创 Codeforces 1209 D.Cow and Snacks(并查集)
题意:n种食品,每种食物只有一份,k个客人,每次只有一个客人可以挑选他喜欢的2种食物吃,如果没有他可以吃的他会不高兴,让你求最少的不高兴的人数 思路:用并查集,每次查询每个人喜欢的2种食物是否在同一个组,不在同一组则可以吃到一种食物,然后合并这2种食物所在的组,期间可以用下路径压缩,效率大大提高 /**************************************************...
2019-09-19 10:21:01
439
原创 2019上海网络赛 Light bulbs(离散化+差分)
题意:这里有n盏灯,起初每栈灯都是熄灭的,每次输入L,R可以改变x灯的状态(L<=x<=R,即off-on,on-off),问最后亮着的灯的数目 思路:首先我想的是直接差分,一看数据大小发现肯定会TLE,但由于题的修改次数很小,所以我们可以先离散化,再差分即可;对区间进行分析,用一个变量sum记录变化的次数,如果左区间+1, 右区间-1,每次判断sum的奇偶性,如果sum为奇数,表示变...
2019-09-16 19:57:21
254
原创 2019上海网络赛 J Stone game
题意:分2堆石头,使得第一堆的总重量大于第二堆,并且去掉第一堆的任意一块,必有第一堆的重量小于等于第二堆,求分配方法的总数; 思路考虑将数组从大到小排序,然后01背包,dp[i]表示价值为i的分配方法的总数; 代码: #include<bits/stdc++.h> #include<iostream> #include<cstdio> using namespa...
2019-09-16 17:46:20
356
原创 2019沈阳网络赛 C.Dawn-K's water(简单dp)
题意:买矿泉水,给你个n(水的种类)和m,求矿泉水的重量不小于m的最小花费 思路: 完全背包模板,dp[i] 重量为i的最小花费 代码: #include<iostream> #include<map> #include<iomanip> #include<algorithm> #include<math.h> #include<m...
2019-09-14 19:45:55
206
原创 2019沈阳网络赛 F.Honk's pool
思路:用unordered_map模拟,在map里面找到mp的最大值Max和最小值Min; 1.当k足够大的时候的平衡情况是Max-Min=0 || Max-Min=1,ans=Max-Min(如样例2,第水池2的水可以抽一升再放回去) 2.当Max-Min为其他(即k=0),ans=Max-Min 所以终止条件k=0或Max-Min=0 || Max-Min=1,模拟即可 代码: #includ...
2019-09-14 19:14:06
163
原创 【NAIPC2018】Recovery 题解
思路: 对于每一行,如果元素个数为奇数,输入值为0,那么就得有一个0;如果元素个数为偶数,输入值为1,也得有一个0。列同理。我们就得到需要0的行数Cntr和列数Cntc,显然当Cntr==Cntc时,解很容易求,继续推导,当Cntr+Cntc为偶数时也有解,我们假设分别为5 和 3, 我们可以将第这5行的前2行的第一列对应元素赋值为0(改变了偶数个对应列的奇偶性不变);显然Cntr+Cntc为奇...
2019-09-11 20:39:01
159
原创 求一个数幂指数的和
思路: 1.使用欧拉现行筛法将素数选出来并保存 2.O(1)判断一个数是否是素数 #include<iostream> #include<iomanip> #include<algorithm> #include<math.h> #include<string.h> #include<time.h> using namespa...
2019-08-02 20:44:35
441
原创 HDU6143 Killer Names(DP 与 容斥原理)
题意:m个字符组成2个长度分别为n的名和字,要求名和字不能有相同的字符,有多少可能 1.容斥原理:对于名我们选i个字符(这i个字符都要用到);对于字我们就选剩下的所有字符(任意选取其中一些字符使用);对于字的种数使用快速幂模,对于名我们定义f函数,f[i]表示只使用i种字母的情况,f[i]=i^n-f[i-1]*C(i,i-1)-f[i-2]*C(i, i-2)…-f[1]*C(i,1); 因此最...
2019-07-30 19:30:22
172
转载 HDU 6170 Two strings (dp)
博文转载自大佬千千的博客 https://blog.csdn.net/qq_28954601/article/details/77484676 题意:给一个a字符串,问是否可以通过题目所给的规则使得b和a匹配 思路: 我们设原串为 a ,匹配串为 b , dp[i][j] 代表 b[1…i] 与 a[1…j] 是否匹配成功。显然 dp[0][0] = true 对于其他情况: 1.如果 b[i]...
2019-07-28 19:22:50
118
原创 删除vim和他的所有生成配置文件
1.卸载Vim GVIM sudo apt-get remove --purge vim (–purge 是完全删除,会连配置文件一起删除) 首先查询系统中有哪些与vim相关的软件,我的是vim、vim-common和vim-run,然后彻底删除他们: dpkg -l | grep vim sudo dpkg -P vim vim-common vim-run (看自己有哪些就删除哪些) 2.安...
2019-07-22 16:50:00
1747
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1