自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Qt键盘事件

但是这个组件会接收所有的键盘事件,直到你把这个组件库释放。所以可能键盘事件都会被这个组件拦截了。使用该函数就不用考虑上述的两个问题。2.获取不到键盘事件。3.如果要设置快捷键。

2022-11-21 13:50:04 871 1

原创 重写QDialog::showEvent

否则QDialog弹出时将只会显示在屏幕中间,而不是跟随其父窗口。附QDialog::showEvent源码。重写该函数后,需要加上。

2022-11-07 16:35:43 2001

原创 qt的鼠标事件

qt多个鼠标按键按下

2022-11-04 17:28:31 426

原创 SpinBoxDelegate

mvc中的代理

2022-10-20 18:03:24 235

原创 MVC框架

mvc

2022-10-20 15:14:19 81

原创 conan

conan

2022-10-19 18:06:40 84

原创 moc(元对象编译器)

元对象编译器

2022-10-19 10:26:02 469

原创 观察者模式

观察者模式

2022-10-19 10:20:29 46

原创 0.01的fork

fork

2022-10-04 20:21:48 79

原创 0.01调度

0.01的调度代码

2022-10-04 18:20:26 113

原创 排序算法

十种排序

2022-09-28 21:27:04 120

原创 斜率优化dp

斜率优化dp

2022-09-28 19:25:23 56

原创 继承的构造和析构

1.构造函数的顺序和析构函数的顺序完全相反。2.析构函数可写成虚函数virtual ~CBase1( ) { cout

2022-06-07 20:54:32 136

原创 简单博弈论

https://blog.csdn.net/qq_53269459/article/details/120187706

2021-12-17 16:16:37 80

原创 洛谷P1108 低价购买

题链一篇题解容我把代码拷过来,便于解释吧好干净的思路#include <bits/stdc++.h>using namespace std;const int maxn = 5005;int n, a[maxn];int dp[maxn];//f[i]表示a[i]结尾的,最优长度的方案数//因为如果dp[i]==ans1,ans1就是其最优长度//此时只需统计a[i]结尾的,最优长度的方案数int f[maxn];int main() { ios::sync_wit

2021-12-14 22:15:28 1225

原创 [NOIP2009 普及组] 道路游戏

这个题有点过于生艹了,好不容易想出前缀和来,前缀和里还有大坑题链sum[a][b]=sum[a][b-1]+jb[(a+b-1)%n][b];sum[a][b]表示一个机器人以 工厂a 为起点,从第一秒走到第 b 秒拾到的金币,但是 sum[k][i]-sum[k][j]表示的却不是以k为起点,sum[k][i]-sum[k][j]表示的是以k+j 为起点的 从第 j+1 秒到第 i 秒捡到的所有金币,因为当第一秒的起点固定时,随着时间的推移,时间也变了,位置也变了简直是自找麻烦#incl

2021-12-11 19:02:36 2335

原创 洛谷P4933 大师

在还没有编译的时候,我是没有想到能过的,所以说,要有自信。题链dp [a][b] 表示以下标为a的那个数为结尾,以b为公差,的等差数列的个数,且等差数列的长度大于等于2int d=h[i]-h[j];dp[i][d]=(dp[i][d]+dp[j][d]+1)%mod;由于数列中的数的大小范围太大,公差也就太大,所以不遍历公差,而是遍历下标,且下标确定了,公差也就确定了一、如何确定dp这里也符合了 当dp表示的情况仍然还有多种情况时,就增加维度。dp[a]表示以a结尾的等差数列的个数,发

2021-12-10 20:02:15 320

原创 洛谷P1433 吃奶酪

题链排列 的 装压两个同类型的状压No Change G邦邦的大合唱站队题目描述房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)点处。输入格式第一行有一个整数,表示奶酪的数量 n。第 2 到第 (n+1) 行,每行两个实数,第 (i+1) 行的实数分别表示第 i 块奶酪的横纵坐标 xi,yi。输出格式输出一行一个实数,表示要跑的最少距离,保留 2 位小数。#include<bits/stdc++.h>#define go(i

2021-11-28 18:29:04 163

原创 一个博客777

在此处法阵传送吧!!!

2021-11-21 16:47:18 175

原创 ccf 202012-4 食材运输

#include<bits/stdc++.h>using namespace std;const int N=110,M=11,inf=1<<29;typedef long long ll;typedef pair<int,int> pii;#define mk(a,b) make_pair(a,b)int d[N][M],n,m,k; //d[i][j]从i出发走完食材j的所有点的最小时间,即运送时间表int tot,head[N],g[N][M] ;s

2021-11-18 21:01:40 297

原创 洛谷P1091合唱队形

最长上升子序列的变体t_1 ​<⋯< t_i ​> t_(i+1) ​> … > t_k (1≤i≤k)只要遍历每个数为中间的最高点,从开始到该点 最长上升子序列从该点到结尾 最长下降子序列(我转化为了从结尾到该点 最长上升子序列)#include<bits/stdc++.h>#define go(i,a,b) for(int i=a;i<=b;++i)#define ll long longusing namespace

2021-11-16 12:50:02 202

原创 洛谷P3205合唱队

题链我以为我的思路很奇怪,而且以这种奇怪的方式还过了,但是看题解发现和我的思路是一样的dp还要分情况?再加维度!有点傻批了,还又浪费时间开个数组dptgo(i,1,n) dp[i][i][0]=1,dpt[i][i][0]=a[i];go(len,2,n){ for(int i=1;i+len-1<=n;++i){ int j=i+len-1; if(dpt[i+1][j][0]>a[i]) dp[i][j][0]=(dp[i][j][0]

2021-11-14 12:16:54 335

原创 高精度+区间dp 洛谷P1005矩阵取数游戏

两点教训:用 #define 自定义的东西是原模原样的替换过去在某些情况要记得加括号#define base (1000*1000*1000) z.a[i]+= ( (x.a[i]+y.a[i])%base ); z.a[i+1]+=(x.a[i]+y.a[i])/base;如果不加括号的话,就会变成z.a[i]+= ( (x.a[i]+y.a[i])%1000*1000*1000);z.a[i+1]+=(x.a[i]+y.a[i])/1000*1000*1000;

2021-11-13 22:48:13 2440

原创 【LGR-097】洛谷 11 月月赛 II & ✗✓OI Round 1 Div.2

我还以为打了这个比赛我的名字会变色。。。。。。比赛链1.T206821 [✗✓OI R1] 铝锤制作题目描述构造一个正整数数列 a,使 a 中所有元素之积为 n,所有元素之和为 k。如果不存在这样的数列,输出 -1。输入格式一行两个正整数 n,k输出格式第一行一个整数 m,代表这个数列的长度。接下来一行 m 个正整数 ai​,代表这个数列。要求 1≤m≤1000,1≤ai≤10001。特别的,如果没有符合要求的数列,直接输出 -1。本题采用 Special Judge。如果有多种答案,

2021-11-13 19:59:43 709

原创 洛谷P3146 [USACO16OPEN]248 G

题链区间dp写到目前的区间dp,都有这两个特征线性合并线性区间重复给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-40),问序列中出现的最大数字的值最大是多少。注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3。这翻译。。。我要是不知道2048是不是就不配做这道题每次可以合并相邻两个,,还要两个数相同#include<bits/stdc++.h>#define go(i,a,b) for(int i=a;i<=b;++i)#def

2021-11-12 19:45:03 411

原创 洛谷P1063 [NOIP2006 提高组] 能量项链

题链环形&区间环形的,在末尾 在复制一遍在末尾 从头开始复制区间问题, 处理每个长度的 每个区间的最优值a[1+n+n]=a[1];不知道测试数据的N有没有超一百,开的210长的数组有两个测试RE了#include<bits/stdc++.h>#define go(i,a,b) for(int i=a;i<=b;++i)#define ll long longusing namespace std;int a[400+10];int dp[400+10][4

2021-11-12 19:24:00 330

原创 环形石子合并

题链区间,环形区间动态规划,从小到大 枚举长度区间动态规划的特点是 线段被重复使用#include<bits/stdc++.h>#define go(i,a,b) for(int i=a;i<=b;++i)#define ll long longusing namespace std;int dpmi[200+10][200+10];int dpma[200+10][200+10];int a[200+10];int sum[200+10];int min(in

2021-11-12 18:06:08 194

原创 洛谷P3092 [USACO13NOV]No Change G

题链约翰到商场购物,他的钱包里有K(1 <= K <= 16)个硬币,面值的范围是1…100,000,000。约翰想按顺序买 N个物品(1 <= N <= 100,000),第i个物品需要花费c(i)块钱,(1 <= c(i) <= 10,000)。在依次进行的购买N个物品的过程中,约翰可以随时停下来付款,每次付款只用一个硬币,支付购买的内容是从上一次支付后开始到现在的这些所有物品(前提是该硬币足以支付这些物品的费用)。不幸的是,商场的收银机坏了,如果约翰支付的硬币

2021-11-10 19:50:46 147

原创 洛谷P1879 [USACO06NOV]Corn Fields G

题链#include<bits/stdc++.h>#define ll long long#define mod 100000000#define go(i,a,b) for(int i=a;i<=b;++i)using namespace std;ll dp[20][(1<<12)+10];int fw[(1<<12)+10];int main(){int m,n;cin>>m>>n;go(i,1,m){

2021-11-10 17:07:04 47

原创 装态压缩的一些常用操作

s&(s<<1) 判断是否有连续的两个1s&( s - 1 ) 把s的最后面那个1置0假设s和s0是相邻的两行,s&s0 判断这相邻两行是否有上下相邻的1

2021-11-10 10:54:56 187

原创 洛谷P1896 [SCOI2005]互不侵犯

题链dp维数不够?再加一维。还不够?再加再加!当使用dp数组的时候,发现一个元素表示的情况仍然存在许多情况,需要再细分才能写出状态转移方程,那就再加一维试试。做难题第一次这样一发入魂(ac),开心!题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。注:数据有加强(2018/4/25)输入格式只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <=

2021-11-09 20:08:14 194

原创 洛谷P3694 邦邦的大合唱站队

题链题目描述N个偶像排成一列,他们来自M个不同的乐队。每个团队至少有一个偶像。现在要求重新安排队列,使来自同一乐队的偶像连续的站在一起。重新安排的办法是,让若干偶像出列(剩下的偶像不动),然后让出列的偶像一个个归队到原来的空位,归队的位置任意。请问最少让多少偶像出列?输入格式第一行2个整数N,M。接下来N个行,每行一个整数ai(1≤ai≤M)a_i(1\le a_i \le M)ai​(1≤ai​≤M),表示队列中第i个偶像的团队编号。输出格式一个整数,表示答案输入输出样例输入 #1

2021-11-09 13:54:28 266

原创 P3195 [HNOI2008]玩具装箱

#include<bits/stdc++.h>#define N 50000+10#define ll long long#define go(i,a,b) for(int i=a;i<=b;++i)using namespace std;ll s[N],f[N],L;int queuee[N];inline double X(int x){return s[x];}inline double Y(int y){return f[y]+(s[y]+L)*(s[y]+L);

2021-11-04 21:56:00 241

原创 ccf 201612-4 压缩编码

#include<bits/stdc++.h>#define ll long longusing namespace std;ll a[1000+10],s[1000+10];ll dp[1000+10][1000+10];int main(){int n;cin>>n;for(int i=1;i<=n;++i){ scanf("%lld",&a[i]); s[i]=s[i-1]+a[i];}for(int i=1;i&

2021-11-04 18:36:43 96

原创 第19次CCF计算机软件能力认证-第4题-202006-4 1246

代码取自 躺平的hhy写的文章![在这里插入图片描述](https://img-blog.csdnimg.cn/c9fc16bc2c0c428cb8e59c0245e3db94.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY2bogIHmnqrmiYs=,size_20,color_FFFFFF,t_70,g_se,x_16#include<iostream>#i

2021-10-31 16:42:52 202

原创 第23次CCF计算机软件能力认证-第4题-202109-4收集卡牌

已满分过题目描述小林在玩一个抽卡游戏,其中有 n 种不同的卡牌,编号为 1 到 n。每一次抽卡,她获得第 i 种卡牌的概率为 pi。如果这张卡牌之前已经获得过了,就会转化为一枚硬币。可以用 k 枚硬币交换一张没有获得过的卡。小林会一直抽卡,直至集齐了所有种类的卡牌为止,求她的期望抽卡次数。如果你给出的答案与标准答案的绝对误差不超过 10−4,则视为正确。提示:聪明的小林会把硬币攒在手里,等到通过兑换就可以获得剩余所有卡牌时,一次性兑换并停止抽卡。输入格式从标准输入读入数据。输入共两行。第一行包

2021-10-30 11:21:29 1609

原创 二维差分

题目链接

2021-03-16 21:23:01 76

原创 网络流传送门

https://www.cnblogs.com/ZJUT-jiangnan/p/3632525.html

2020-12-03 11:04:45 89

原创 洛谷 P1439 【模板】最长公共子序列

解法一:#include<bits/stdc++.h>using namespace std;int b[100010],c[100010];int dp[10000][10000];int main(){int n;cin>>n;for(int i=1;i<=n;++i){ scanf("%d",b+i);}for(int i=1;i<=n;++i){ scanf("%d",c+i);}for(int i

2020-11-23 19:21:26 262

原创 动态规划传送门

https://www.luogu.com.cn/blog/pks-LOVING/junior-dynamic-programming-dong-tai-gui-hua-chu-bu-ge-zhong-zi-xu-lie#

2020-11-17 20:53:11 78

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除