qq_40240576的博客

私信 关注
mengsz1
码龄3年

我爱学习

  • 34,556
    被访问量
  • 60
    原创文章
  • 110,514
    作者排名
  • 14
    粉丝数量
  • 于 2017-09-14 加入CSDN
获得成就
  • 获得51次点赞
  • 内容获得3次评论
  • 获得75次收藏
荣誉勋章
兴趣领域
  • #后端
    #Python
TA的专栏
  • 二分法
    1篇
  • redis
  • Scala
    1篇
  • avalon
    1篇
  • 暴力
    10篇
  • 区间dp
    4篇
  • 网络流
    2篇
  • Linux
    8篇
  • 博弈
    15篇
  • 知识点
  • 版子小结
  • 思维
    2篇
  • 编译原理
    8篇
  • 图
    1篇
  • 微机原理
    2篇
  • UML
    1篇
  • WEB
    4篇
  • Matlab
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

书本分发-二分法

书本分发DescriptionYou are given N number of books. Every ith book has Pi number of pages. You have to allocate books to M number of students. There can be many ways or permutations to do so. In each permutation one of the M students will be allocated the ma
原创
15阅读
0评论
0点赞
发布博客于 8 天前

创建Scalad的Maven项目遇到的问题

1.导入SDK的问题!直接把bin的上一层目录给导入:Project Settings -> Libraries ->如图重新启动即可2.找不到Application报错:Scala Cannot resolve symbol ApplicationScala2.9以后就弃用了Application,所以使用2.11版本要用App替代Application,用Main替代App,需要将App文件修改成下面代码:package com/** * Hello world! *
原创
76阅读
0评论
1点赞
发布博客于 4 月前

avalon处理时间格式

{{item.updateTime | date("yyyy-MM-dd")}}
原创
35阅读
0评论
0点赞
发布博客于 5 月前

MATLAB-基本知识

转自https://learnxinyminutes.com/docs/zh-cn/matlab-cn/% 以百分号作为注释符%{多行注释可以这样表示%}% 指令可以随意跨行,但需要在跨行处用 ‘…’ 标明:a = 1 + 2 + …4% 可以在MATLAB中直接向操作系统发出指令!ping google.comwho % 显示内存中的所有变量whos %...
转载
102阅读
0评论
2点赞
发布博客于 2 年前

微机原理课件集

微机原理课件集合
zip
发布资源于 3 年前

WEB-js验证

js实验——用户名,密码验证<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm
原创
142阅读
1评论
2点赞
发布博客于 3 年前

Servlet-登陆验证(含.xml文件配置)

文件结构:Servlet:Login.javapackage dmp;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import ...
原创
102阅读
0评论
2点赞
发布博客于 3 年前

jsp——forward,param

以例子来说明:forward是jsp的页面跳转标签param是jsp指定某个参数的值,必须和jsp:forward,jsp:include,jsp:plugin 等一起协同使用1.login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>...
原创
145阅读
0评论
1点赞
发布博客于 3 年前

出错页处理

1.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isErrorPage="false" errorPage="error.jsp"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN
原创
226阅读
0评论
3点赞
发布博客于 3 年前

并行端口实验——基本输入输出

CODE SEGMENT ASSUME CS:CODESTART: MOV DX,0606H ;IOY0控制口 MOV AL,10000100B;B口输入,A口输出 OUT DX,ALAA1: MOV DX,0602H IN AL,DX MOV DX 0600H OUT DX,AL JMP AA1CODE ENDSEND START ...
原创
188阅读
0评论
1点赞
发布博客于 3 年前

UML—设计模式

一。代理模式为其他对象提供一种代理以控制这个对象。1.实现如图代理模式的代码Public interface IRunner{public void run();}public class Runner implements IRunner{public void run(){System.out.println(“运动员跑步”);}}public class RunnerA...
原创
1089阅读
0评论
0点赞
发布博客于 3 年前

微机原理第六章—存储器的扩展

1.位扩展——存储芯片的字数满足要求,但是位数不满足要求的情况位扩展的连接方式是将地址总线,片选CS,读/写控制线相应并联,而数据线要分别引出。2.字扩展——位满足要求而字数不够。下图为结果:当A15A14 = 0 时,使用第一个芯片的16K.= 1 时,使用第二个芯片的16K.总计64K;3.字位同时扩展1.上下芯片实现位扩展,左右芯片实现字扩展。...
原创
1147阅读
0评论
0点赞
发布博客于 3 年前

微机原理第六章—存储器的扩展

1.位扩展——存储芯片的字数满足要求,但是位数不满足要求的情况位扩展的连接方式是将地址总线,片选CS,读/写控制线相应并联,而数据线要分别引出。2.字扩展——位满足要求而字数不够。下图为结果:当A15A14 = 0 时,使用第一个芯片的16K.= 1 时,使用第二个芯片的16K.总计64K;3.字位同时扩展1.上下芯片实现位扩展,左右芯片实现字扩展。...
原创
1147阅读
0评论
0点赞
发布博客于 3 年前

汇编 字符串匹配

DATA SEGMENTSTRING1 DB ‘AAA’;定义数据段,一个A占一个字节,STRING1是首地址STRING2 DB ‘BBB’YES DB ‘MATCH’,0DH,0AH,‘′;0DH,0AH组成换行符,';0DH,0AH组成换行符,′;0DH,0AH组成换行符,是字符串结束的符号NO DB ‘NOMATCH’,0DH,0AH,’$’DATA ENDS...
原创
276阅读
0评论
0点赞
发布博客于 3 年前

语义分析和中间代码的产生

紧接在词法分析和语法分析之后,编译程序要做的工作是进行静态语义检查和翻译。(图7.1)静态语义检查1、类型检查。2、控制流检查。3、一致性检查。4、相关名字检查。翻译(中间语言)的好处:(1)便于进行与机器无关的代码优化;(2)使编译程序改变目标机更容易;(3)使编译程序的结构在逻辑上更为简单明确,以中间语言为界面,编译前端和后端的接口更清晰。主要掌握几种常见的中间语言表达形式...
原创
347阅读
0评论
0点赞
发布博客于 3 年前

编译原理第五章——消除左递归

一。消除直接左递归为什么要这样消除左递归?其实这个文法识别的串为以B打头,0~*个a结尾的串,所以用B开头,P’表示多个a。理解一下这个例题,消除的时候用的上面的思想。一般性的规则二。消除间接左递归例子:排序是任意的。在消除完之后开始符号S推不出Q,R,所以是无用的。...
原创
1093阅读
0评论
5点赞
发布博客于 3 年前

词法分析器 C++实现

#include<bits/stdc++.h>#include<cstring>using namespace std;//保留字表 static char reserve[32][20] = { "auto", "break", "case", "char", "const", "continue", &qu
原创
503阅读
1评论
4点赞
发布博客于 3 年前

E - Heavy Transportation POJ - 1797

题意:找一条路从 1 到 n , 这条路上的最小权值为这条路的权值,找一条路使权值最大。题解:Dijkstra求最短路的修改,每次找距离 1 点边权最大的点,位置记录在pos上,每加入一个新点,更新dis , 进入更新的条件是,g[pos][j]>dis[j],在这之后好要保证dis[pos]>dis[j] , 不理解的话,结合题意画一个三角形。#include<cstd...
原创
61阅读
0评论
1点赞
发布博客于 3 年前

A - Alice's Print Service ZOJ - 3726

题意:给你N张纸去打印,然后打印不同数量的纸张,每一张价格会不同,问最低价格。题解:先预处理一下,求打印每个价格区间打印最低纸张需要的钱,例如:打印100张10元,结果打印10张要100元,如果你要打印10张纸,自然要打印100张最省钱。#include<bits/stdc++.h>#include<cstring>using namespace std;#d...
原创
192阅读
0评论
2点赞
发布博客于 3 年前

编译原理(第四章)——首符号集和后继符号集的求法

一、首符号集的求法注:(1)ay是由x经过0到多步推出来的 且a是终结符号,若x是终结符号,First( x ) = { x };举例:二、后继符号集的求法(1)定义1.例如:再求FOLLOW( T )的时候,在产生式右边寻找含有T的产生式,并且把它的右边的终结符号写入集合中。例题:注解:对于文法开始符号,#都要加进去。三、构造首符号集构造符号的FIRST集步骤:构造文...
原创
2927阅读
0评论
6点赞
发布博客于 3 年前

(Linux)操作系统——线程实验

操作系统一实验3线程■目的深入理解线程及线程在调度执行和内存空间等方面的特点, 并掌握线程与进程的区别。掌握POSIX规范中pthread create( )函数的功能和使用方法。■实验前准备阅读参考资料,了解线程的创建等相关系统调用实验准备:线程创建函数:pthread_create(&pthread_id[i] , NULL , thread_work , ( voi...
原创
1825阅读
0评论
4点赞
发布博客于 3 年前

B - Fox Dividing Cheese CodeForces - 371B

题意:把两块饼可以变成原来1/2/ , 1/3 , 1/5,问你多少步可以变成质量相同的两块。题解:看这个数由多少2、3、5组成,统计2、3、5个数的同时不断用n去除以它们,除完以后得到的a , b如果不相同就不行,不过相同,那么2、3、5个数的差就是步骤#include<bits/stdc++.h>#include<cstring>using namespac...
原创
133阅读
0评论
1点赞
发布博客于 3 年前

K-Periodic Array CodeForces - 371A

题意:n长的数组,只有1,2,分成n/k段,要求每一段完全相同。题解:把数组分成 n / k 段,看每一段的第 i ( i 从 0 ~ k )个数字是 1 多还是 2 多,如果 1 多就加上 2的次数,反之,就加 1 的次数。#include<bits/stdc++.h>#include<cstring>using namespace std;int ss[1...
原创
79阅读
0评论
0点赞
发布博客于 3 年前

第四章——自顶向下语法分析方法

一、语法分析器的功能语法分析器的任务:判断所给单词串是不是给定文法的正确句子。1、确定的自顶向下分析思想:从文法的识别符号出发、根据当前的输入符号、唯一的确定一个产生式、用产生式右部的符号串代替相应的非终结符往下推。能构造成功则是句子,否则不是。2、什么样的文法可以用自顶向下的分析方式① ( 1 )每个产生式的右部都由终结符开始(2)产生式的右部以不同的终结符号开始的(3)无空产生...
原创
214阅读
0评论
0点赞
发布博客于 3 年前

第三章——词法分析器的自动产生(包含LEX程序简介)

一、词法分析器的自动产生注意:词法分析程序由状态转换图构造(1)状态转换图的生成由文法转换成状态图的过程:1、文法左边的非终结符作为终止状态,其它非终结符作为中间状态,终结符作为弧上的符号。2、再看由什么能推出中间状态。就比如下面的例子,由“/”可以推出<斜竖>这个状态。‘生成总的状态装换图...
原创
1023阅读
0评论
0点赞
发布博客于 3 年前

第三章——正规式与有限自动机(NFA M与正规式R的相互转化)

一. NFA M ——> 正规式R步骤:(1)用x , y代表开始和结束状态加入原来状态转换图(2)消除x , y之间的状态直至只剩x , y为止,没消除一个状态,重新连接两个状态的弧用正规式表示。消除规则:例题:...
原创
5026阅读
1评论
8点赞
发布博客于 3 年前

操作系统的功能

1.操作系统的目标(1)提高效率(2)方便用户2.操作系统管理CPU、内存、文件、外设。3.操作系统的五大管理功能(1)进程管理(2)内存管理(3)文件管理(4)外设管理(5)操作系统接口4.进程管理(1)进程控制:当一个程序运行起来以后它就成了进程,那么它就需要控制,这就是进程的控制。(2)进程调度:多个进程运行的时候,要制定谁去占用CPU,这就是进程调度。(3)进程同...
原创
70阅读
0评论
1点赞
发布博客于 3 年前

CPU和CPU运行的相关设备功能介绍

1.功能介绍:(1)CPU的工作就是执行指令。(2)不能保存指令,指令全在内存里。(3)第一条指令在内存最顶端处,0xfffffff0处。(4)断了点不保存记忆,这一点内存也一样。(5)运行速度超快,1ms执行100万条指令。(6)CPU不理解命令,只是去执行命令。2.DMA(直接内存访问)硬盘通过DMA可以直接把数据装在到内存中去,不需要经过CPU。3.缓存缓存是数据交换的...
原创
93阅读
0评论
0点赞
发布博客于 3 年前

进程之间的通信——随堂笔记

1.进程之间的通信定义:进程之间的通信是指在进程之间传输数据。进程之间的通信根据进程之间传输数据的效率和多少分为高级通信和低级通信。2.共享内存的通信方式连个进程可以直接共享访问同一块内存区域。——共享内存的编程实现:先获得共享内存,然后映射到地址空间,之后就可以使用共享内存,,取出数据,接触映射关系,之后删除共享内存。3.管道通信管道机制必须提供的协调能力(1)互斥:读写操...
原创
64阅读
0评论
0点赞
发布博客于 3 年前

进程同步机制的引入——随堂笔记

1.进程之间的相互制约关系(1)同步:进程之间的一种通信方式,有时序上的制约关系,或者说是进程之间为了协同工作而存在的一种等待关系。(2)互斥:进程之间对临界资源的一种竞争关系,排他性的对资源进行访问。2.临界资源:定义:在一段时间,只允许一个进程访问的资源,这种资源也称为独占资源。3.临界区定义:把每个进程访问临界资源的代码叫做临界区。4.进程同步机制应该遵守的规则:(1)空闲让...
原创
237阅读
0评论
0点赞
发布博客于 3 年前

进程控制(原语)——随堂笔记

1.处理器的状态(CPU状态)(1)CPU执行系统时的所处状态称为系统态(内核态)。执行用户程序所处的状态称为用户态(目态)。系统态有特权能执行全部指令,当执行用户态没有特权,只能执行部分指令。高特权级可以访问地特权级,系统态的程序可以访问用户态的程序,用户态的程序不能访问操作系统,这是为了保护操作系统,不让用户随意访问。2。原语(原子操作)定义:有若干条指令,指令执行时不能被打断,一...
原创
3041阅读
0评论
2点赞
发布博客于 3 年前

进程控制块和状态——随堂笔记

1.PCB——描述进程的数据结构 (当一个进程创建以后交给操作系统管理,管理的时候要对进程的属性进行描述)(1)进程的描述信息:进程的基本信息pid给每个进程的编号,名字(2)处理器状态信息:在进程执行过程中使用的处理器的各种寄存器的信息。原因:进程在执行时用CPU,进程执行时发生进程切换,所以要保存处理器的信息,这些信息通常要压栈。(3)进程控制信息:进程放在内存的什么地方,它的程序和数...
原创
574阅读
0评论
0点赞
发布博客于 3 年前

Linux下基本命令(操作)(创建根目录,删除,编译,运行操作等)

Linux下删除目录的操作rm -rf 文件名称r - 向下递归f -强行删除创建目录touch +文件名
原创
6982阅读
0评论
1点赞
发布博客于 3 年前

Anti_SG--Let's play a game ZOJ - 2507

题解:Anti-SG游戏—谁先走最后一步谁输先手必胜当且仅当:1.石子数全都为1并且SG值为0,2.石子数不全为1并且SG值不为0.要是想了解证明过程,就去阅读贾志豪的博弈论,里面有详细的证明过程。#include<bits/stdc++.h>#include<cstring>using namespace std;#define LL long lon...
原创
69阅读
0评论
0点赞
发布博客于 3 年前

Human or Pig ZOJ - 3513--NP图法

题意:给一个N*M的格子,每一个点都是出发点,判断从这一个点出发早上还是晚上出发到河边能变成人,白天是人,晚上是猪;题解:NP图法:如果 x == y ,那么这时候只有一种走法,这时候必须是猪,除此之外只要能够到达x == y的点就是人。#include<bits/stdc++.h>#include<cstring>using namespace std;#...
原创
42阅读
0评论
0点赞
发布博客于 3 年前

树上博弈——A tree game HDU - 3094

题意:删边并去除与跟不想连的边,最后不能移动的人失败题解:每个根节点的SG为0,中间节点的SG为所有根节点SG值加一的亦或和。代码:#include<bits/stdc++.h>#include<cstring>using namespace std;const int maxn = 1e5+50;vector<int> G[maxn];i...
原创
249阅读
0评论
0点赞
发布博客于 3 年前

K倍动态减法——A simple stone game POJ - 3922

题意:如果可以获胜,问所走最小步数是多少题解:构造数列,a数组里存的是必败态,如果当前数不在必败态之中,那就看离他最近的必胜态,用一个简单的循环就能找到#include<cstdio>#include<cstring>using namespace std;const int maxn = 4000000+1000;int a[maxn];int b[m...
原创
64阅读
0评论
0点赞
发布博客于 3 年前

K倍动态减法——Game ZOJ - 3599

题解:K倍动态减法https://blog.csdn.net/tbl_123/article/details/24884861#include<bits/stdc++.h>#include<cstring>using namespace std;#define LL long longconst int N = 3000000;LL a[N],b[N]...
原创
160阅读
0评论
0点赞
发布博客于 3 年前

GG and MM HDU - 3595

题解:Every_SG2,Every-SG 定义: 1,Every-SG 游戏规定,对于还没有结束的单一游戏,游戏者必须对该游 戏进行一步决策,也就是每轮操作要对所有单一游戏进行操作。 2,Every-SG 游戏的其他规则与普通SG游戏相同。 定理: 对于Every-SG 游戏先手必胜当且...
原创
56阅读
0评论
0点赞
发布博客于 3 年前

威佐夫博弈——取石子游戏 POJ - 1067

题解:威佐夫博弈的板子题#include<iostream>#include<cstdio>#include<map>#include<algorithm>#include<cmath>#define LL long longusing namespace std;int main(){ int a,b;...
原创
70阅读
0评论
0点赞
发布博客于 3 年前

博弈论--取石子游戏 HDU - 2516

题解——枚举一下从1到13左右会发现如果当前是斐波那契数必输 转自:https://vjudge.net/contest/244449#problem/R n =2时输出second;n =3时也是输出second;n =4时,第一个人想获胜就必须先拿1个,这时剩余的石子数为3,此时无论第二个人如何取,第一个人都能赢,输出first;n =5时,first不可能获胜,因为他取2...
原创
75阅读
0评论
0点赞
发布博客于 3 年前

博弈论—— Being a Good Boy in Spring Festival HDU - 1850

题解: 如果所有牌的亦或和为0,必输。想赢必须亦或和大于0,亦或完之后如果大于零,要是让对手输必须拿走一些牌使得剩余牌亦或结果为0,如果一个数字比除这个数字之外的数字的亦或值大,则情况就+1,举个例子,比如5,7,9这个例子,只有9大于5和7的亦或值,所以结果就为1.#include<iostream>#include<cstdio>#include&...
原创
71阅读
0评论
0点赞
发布博客于 3 年前

博弈论—— Good Luck in CET-4 Everybody! HDU - 1847

题解: 画NP图——举个例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16N NPN N PNN P N N P N N P N根据NP图中比盛典和必败点的特点画出来,在这篇博客里有对NP图比较详细的介绍 https://blog.csdn.net/qq_40240576/article/details/82630992画完...
原创
86阅读
0评论
0点赞
发布博客于 3 年前

博弈论——Find your present! HDU - 1563

题解:对亦或的考查——既然只有一个与其它的不一样,而且其它的成对出现,那就把所有的出现的数字亦或一遍、 最后亦或得到的数字即为答案#include<iostream>#include<cstdio>using namespace std;int main(){ int n,a; while(~scanf("%d",&n)&amp...
原创
82阅读
0评论
0点赞
发布博客于 3 年前

博弈论——Paint Chain HDU - 3980

题解: 关键在于SG打表的方式: 每当拿走一个珠子,相当于圆形的串被分割:串长为从1到n-k;然后循环递归求出SG值#include <iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int T,m,n;int...
原创
44阅读
0评论
0点赞
发布博客于 3 年前

SG打表——Fibonacci again and again HDU - 1848

题解:SG打表 从1到n列出一堆石子所有可能的情况,在搜索小于这个i的所有斐波那契数,标记当前 i 减去斐波那契数产生子局面 的SG值,之后得到当前n的SG值#include<iostream>#include<cstdio>#include<cstring>#define LL long long intusing namespace ...
原创
49阅读
0评论
0点赞
发布博客于 3 年前

Nim游戏——Rabbit and Grass HDU - 1849

题解:简单的Nim游戏,每个棋子距离做短点的位置看做石子的数量,然后进行亦或就可以#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ int n,a,sum = 0; while(~scanf("%d",&a...
原创
49阅读
0评论
0点赞
发布博客于 3 年前

博弈论—NP图法kiki's game HDU - 2147

题解:这一题用NP图来进行求解,分别画出 偶X奇,偶X偶,奇X奇的矩阵来找出规律来即可求出结果。 NP图的画法:博客: https://blog.csdn.net/Adusts/article/details/81385588以下内容为借鉴,因为写的很好,没啥要补充的。 博弈论:组合博弈 * 必败点(P点) :前一个选手(Previous player)将取胜的位置称为必败点。 ...
原创
135阅读
0评论
1点赞
发布博客于 3 年前

朋友 HDU - 5963

题解:以每一个点为根时,能不能赢取决于与根相连的点的权重之和,为奇数女孩赢,否则男孩赢#include<bits/stdc++.h>using namespace std;#define mem(a,b) memset(a,b,sizeof(a))#define fread() freopen("in.txt","r",stdin)#define fwrite(...
原创
73阅读
0评论
0点赞
发布博客于 3 年前

Going Home HDU - 1533

1.建立源点 S与所有的人连 ,流量为1,费用为0。 2.建立汇点 T与所有的房子连,流量为1,费用为0。 之后遍历每个人,然后加边,每个人与每个房子连,流量为1,费用为两个点为曼哈顿距离。 https://blog.csdn.net/qq_37383726/article/details/78177558#include<bits/stdc++.h>...
原创
52阅读
0评论
0点赞
发布博客于 3 年前

网络流——A - Drainage Ditches HDU - 1532

网络流板子题,直接套用。 1.cnt–边的数量,从0开始 2.head[]–每一个点最后一条边的编号 3.next–每一条边的下一条边,同一个起点对应。 4.v–每一条边指向的点 5.w–每一条边的残量 6.level[]–标记分层深度#include<cstdio>#include<cstring>#include<algorithm&g...
原创
105阅读
0评论
0点赞
发布博客于 3 年前

Square HDU - 1518

#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int T,a[30],vis[30],n,flag,sum,goal,maxn; bool cmp(int a,int b){
原创
40阅读
0评论
0点赞
发布博客于 3 年前

Sticks POJ - 1011

借鉴的这个人的题解: 说一下三条剪枝函数,当运行到剪枝函数,可以理解为搜索失败了。 1.第一个剪枝:如果当前搜索a[i]时,发现因为a[i]的原因不能使木棍分成等长的几部分,当goal等于a[i]时,也就不需要在搜索了。 2,第二个剪枝:(引上面博客内容)假设 要搜索目标长度为 7 :绳长有 7 6 3 2 2. 假设 第一个7 搜索完,接下来搜索6 发现6没有1来配对,程序会接...
原创
94阅读
0评论
0点赞
发布博客于 3 年前

Unique Snowflakes UVA - 11572

大意:求最大不重复连续数列的长度 题解: 1.段查找问题,紫书上有,滑动窗口方式。 2.用set集合类存储,用set存数是有序的 3.先给定一个区间长度,当右端数字在set中一直没出现就一直往右扩展while(!st.count(a[r])&&r<=n) st.insert(a[r++]); 4.当重复时,去掉左端的数字st.erase(a[l++]); 5....
原创
50阅读
0评论
0点赞
发布博客于 3 年前

Cave Painting

这里写链接内容k很小的时候,能满足的n已经很大了,对k进行遍历,如果(n%i) == i-1,直到最后,那么它就成立#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace s
原创
191阅读
0评论
0点赞
发布博客于 3 年前

Three displays

题解: 从整个数列中间挑一个数s[k],c[k],从左边挑一个s[i]小于它的并且是c[i]最小的,从右边挑一个 s[i]大于它的,c[i]最小的,每一轮进行一次比较:m3 = min(m3,(m1+c[i]+m2));#include<iostream>#include<cstdio>#include<cstring>#include&l...
原创
91阅读
0评论
0点赞
发布博客于 3 年前

Non-square Equation

题解: 公式推导: x = (-s(x)+sqrt( s(x)*s(x) + 4*n ) )/2; 1.n最大是1e18,因为x2 + s(x)·x - n = 0, 所以x*x<=n,所以x最大也就是1e9, 因此,s(x)最大也就是9个9,是81, 2,枚举s(x)的所有情况,计算出x,如果x是个整数,并且x各个位置之和等于s(x),那么就把他记录下来, 并且找出最小...
原创
59阅读
0评论
0点赞
发布博客于 3 年前

Color the ball 扫描线

引用块内容 题解: 1.没接收一个区间,比如i,j,记录次数的数组arr[i]++,arr[j+1]–; 2.最后得出第i个点出现次数的值时,cout<#include<iostream>#include<cstring&a
原创
45阅读
0评论
0点赞
发布博客于 3 年前

4 Values whose Sum is 0

题解: 1.计算出A,B中所有元素两两的和,放到s1里。 2.计算C,D中所有元素两两的和,放到s2里。 3.对s1进行排序。 4.遍历s2的每一个元素,用二分法的方式在s1里找出和它相加为0的值#include<iostream>#include<cstring>#include<cstdio>#include<algorithm&
原创
39阅读
0评论
0点赞
发布博客于 3 年前

Magic Forest

题目大意:找小于等于n的三个数,既能组成三角形,也要抑或值为0;题解:第一条边为i,从1开始,第二条边为j,从i开始 1.先是i^j,再用0^(i^j)得到第三条边 2,若第三条边大于等于j小于等于n,并且能构成三角形(这里是两小边之和大于第三边)则OK。//亦或的简单运用 #include<iostream>#include<cstdio>#...
原创
136阅读
0评论
0点赞
发布博客于 3 年前

Brackets

1.dp[i][j]表示从i到j匹配的括号的最大数量。 2.转移方程dp[i][j] = max(dp[i][j],dp[i+1][k-1]+dp[k+1][j]+2); 表示当第k个括号和第i个括号匹配时,即ss[i] == ss[k] 括号数量为第i+1~k-1的括号数量和第k+1~j的括号数量+2#include<iostream>#include<cs...
原创
642阅读
0评论
1点赞
发布博客于 3 年前

Halloween Costumes 区间dp

1.初始化为最坏情况,即区间多长,就用多少件衣服。 2.i是用来枚举起始位置,j枚举终点位置,k代表分割区间的位置。 3.如果从第计算dp[i][j]时,如果第i+1~j中没有一件衣服和第i天一样, dp[i][j] = dp[i+1][j]+1; 如果有a[i] == a[k] dp[i][j] = min(dp[i][j],dp[i+1][k-1]+dp[k][j]) 代表第i...
翻译
43阅读
0评论
0点赞
发布博客于 3 年前

石子合并——圆形版

石子合并的圆形版和直线版差不多,关键是怎么把圆变成直线来处理。 以最小值为例: 1.先初始化mi[m][m]; 2.枚举区间长度len,当区间长度为1时,相应的mi[len][i] = 0; 3.枚举起始位置i; 4.枚举插入位置,mi[j][i]代表从i开始,长度为j的最小得分。 5.将圆变成直线的方法是,当i+j大于n时,第二段开始的位置就要重新计算, 设pos为第二段开始的坐标...
原创
372阅读
0评论
0点赞
发布博客于 3 年前

石子合并问题——直线

撒大声地
原创
1349阅读
0评论
1点赞
发布博客于 3 年前