摘要: Problem - 1679C - Codeforces 题意:当t=1加入一个点,每个点可以影响一行和一列,t=2删除某个点,t=3判断这个矩形内的每个点是否都可以影响。 思路:开始时直接暴力,T了,然后看了看题解,学习了一波树状数组 Orz。 #include<bits/stdc++.h> us 阅读全文
posted @ 2022-05-20 21:44 HHzp 阅读(39) 评论(0) 推荐(0)
摘要: ll lowbit(ll x){//取二进制最后一位 return x&(-x); } void update(ll x,ll y,ll n){//单点更新,更新这个点的所有子节点的和,类似于该点的前缀和 for(ll i=x;i<=n;i+=lowbit(i)) l[i]+=y; } ll get 阅读全文
posted @ 2022-05-20 21:40 HHzp 阅读(33) 评论(0) 推荐(0)
摘要: 1.常见的集中数据类型 1.char(n) , varchar(n)两个的区别是char(n)是固定空间,varchar(n)是动态的 //SQL中的字符串用单引号表示,不是双引号 2.int , Tinyint(-128~127), smallint. 3. double,float. 4.dat 阅读全文
posted @ 2022-05-19 20:15 HHzp 阅读(108) 评论(0) 推荐(0)
摘要: 题意:每次可以选择一条路径,要求这条路径中每个点都是上一个点的子节点,求最少需要几条路径将所有点走完 思路:将每个点有没有子节点判断出来,因为只有没有子节点的点需要新增一条路,所以需要路径的最小数目就是没有子节点的节点个数,从每个根节点出发,深搜一遍即可。 注意:可以开临时vector来节约时间。 阅读全文
posted @ 2022-05-19 09:09 HHzp 阅读(59) 评论(0) 推荐(0)
摘要: 1.dijkstra算法: 从一点开始,更新所能到达的点的最小值,不能判断有负权值的图 模板:(与Prime算法基本相同) void dij(){//堆优化模板 priority_queue<pll,vector<pll>,greater<pll>> q; memset(dis,0x3f,sizeo 阅读全文
posted @ 2022-05-17 14:56 HHzp 阅读(53) 评论(0) 推荐(1)
摘要: 1.prime算法 prime算法类似于bfs,就是判断每次连接的点中距离最短的,加入到树中,具体如下: prime算法要求一开始随便选择一个点作为起点,因为最小生成树包括所有点,所以起点随机即可(一般选1),将该点加入一个集合,然后判断集合中所有点与之相连的点中最小的,将其加入集合中,加入集合的点 阅读全文
posted @ 2022-05-12 18:59 HHzp 阅读(96) 评论(0) 推荐(0)
摘要: ——const 的一些用法 1,修饰指针 const int *p=.... 可以改变指针所指的位置,但不能改变指向位置的值。 2,修饰变量 int const * p=.... 可以改变指向位置的值,但不能改变指针的指向。 3 ,定义常变量,防止误改。 const 在代码量大的程序中,可以用来防止 阅读全文
posted @ 2022-05-03 21:01 HHzp 阅读(38) 评论(0) 推荐(0)
摘要: C - Magical Rearrangement 题意 :给出0-9每个数字的使用次数,拼出最小的数字。 要求:全部用完,不能有前导零(0除外),相邻的两个数字不相同。 题解:贪心,开始没想明白什么时候输出最大的,什么时候按照最小的输出,看了看大佬的题解懂了,开始的时候,判断出现次数最多的数字ma 阅读全文
posted @ 2022-05-02 21:17 HHzp 阅读(223) 评论(0) 推荐(1)
摘要: B - Destruction 最小生成树模板题,注意负权值的边不要加入。 #include<iostream> #include<algorithm> #include<string.h> #include<string> #include<map> #include<vector> #inclu 阅读全文
posted @ 2022-04-30 10:55 HHzp 阅读(41) 评论(0) 推荐(1)