• 深度学习_1_Tensorflow_1

    # 深度学习 # 图像识别,自然语言处理 # 机器学习 深度学习 # 分类:神经网络(简单) 神经网络(深度) # 回归 图像:卷积神经网络 # 自然语言

  • 人工智能_5_决策树_随机森林

    # 决策树,随机森林 # 决策树结构:if-then # 信息熵: # 例:第一届世界杯32支球队 每个队伍冠军概率1/32 # 可得 log32(程序员认为的log一般都默认是以2为底) = -(1/32*log(1/32)+1/32*log(1/32).....)

  • 人工智能_4_k近邻_贝叶斯_模型评估

    机器学习常用算法 k近邻算法 求出未知点 与周围最近的 k个点的距离 查看这k个点中大多数是哪一类 根号((x已知-x未知)^2+(y已知-y未知)^2) 即平面间2点距离公式 收异常点影响较大,因此需要做标准化处理 API:sklearn.neighbors.KNeighbo

  • 人工智能_3_机器学习_概述

    # 机器学习_概述 # 数据类型:连续性,离散型 # 算法分类 # 监督学习(特征值+目标值):(预测) # 分类: k近邻算法 贝叶斯 决策树与随机森林 逻辑递归 神经网络 # 回归: 线性回归 岭回归 # 标注: 隐

  • 人工智能_2_特征处理.py

    # 特征处理 # 特征预处理:通过统计方法将数据转换为算法需要的数据 # 数值型数据:标准缩放 # 规依法,标准化(常用,适用于当前大数据),缺失值处理(删除,填补中位数平均数,通常按照列填补) # 类别型数据:ont-hot编码 # 时间类型:时间的切分 # 特征处理API s

  • 人工智能_1_初识_机器学习介绍_特征工程和文本特征提取

    # 人工智能:预测,分类 # 人工智能: # 自动的工作 # 机器学习(包含深度学习) # 以前的限制因素:计算能力,数据,算法发展 # 用途: # 图像识别 # 识别图片中不同的地方(医学CT) 不用人工识别 # 图片艺术化(可以替代ps) # 无人

  • python-matplotlib

    # matplotlib 画图工具 import matplotlib.pyplot as plt import pandas as pd import numpy as np from pandas.core.series import Series # 自定义数据 X = Series(np.a

  • python-numpy

    # 常用库numpyimport numpy as np array1 = np.array([1,2,3,4]) print(array1) # [1 2 3 4] array2 = np.array([ [1,2,6,9], [3,4,8,9], [3,5,9,9],

  • python-pandas

    # pandas 数据预处理 基于numpy # 读取csv文件(逗号隔开的文件) import pandas,os,numpy as np path = r"D:\desktop\Workspace\PythonWorkSpace\Machine-Learning\asstes\csv\

  • mysql

    mysqladmin -u 用户名 -p oldpswd newpswd   ------------------------------------------------------------ having 用来操作 group by x 后 其他列按y分组后的每组信息 与in any

  • jdbc

    jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/dangdangjdbc.username=rootjdbc.password=root ----------------------------------

  • Bootstarp

            字体是矢量的:不失帧 前端页面可用于android访问       优点:移动设备优先 支持所有浏览器(360不算浏览器) 自适应屏幕大小 目录结构:       若浏览器环境变化,引入js  <link href="asse

  • ajax_json

    AJAX框架Day1 1、Ajax引言 a)       概念 Asynchronous Javascript And XML (异步请求 javaScript  And  XML) b)      传统的请求 发起传统请求的方式 地址栏 超级连接 表

  • Tensorflow

    1,下载anaconda 安装 ################################################################## new method pypi 镜像使用帮助 pypi 镜像每 5 分钟同步一次。 临时使用 pip

  • avatar 白驹过隙、 2020-01-18 14:28:41

    PTA练习——6翻了

    “666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”! 本题就请你编写程序,将那些过时的、只会用一连串“6666……6

    来自 白驹过隙、
    10
  • avatar sygg 2020-01-18 15:04:02

    题解

    dfs(0,7,0,7)中序: FDBEG A CH后序: FDGEB HC Ap=5dfs(0,4,6,7)dfs(0,4,5,6)dfs(zs,p-1,hs,hs+(p-zs)-1);dfs(p+1,ze,hs+(p-zs),he-1); #include<iostream> #in

    来自 sygg
    00
  • avatar 大大萌阳 2020-01-18 15:07:21

    调整数组顺序使奇数位于偶数前面

    思路:可使用两个数组,一个存放奇数,另一个存放偶数,遍历结束后将两个数组相加返回即为所得 class Solution: def reOrderArray(self, array): # write code here list1 = [] l

    来自 大大萌阳
    00
  • avatar 进击的小one 2020-01-18 15:12:13

    循环基本语法

    目标 while 语句 for 循环遍历 完整的 for 循环遍历 while 语句的基本语法 死循环:由于程序员的原因忘记在 循环内部 修改循环判断条件,导致循环持续执行,程序无法终止。 *break 和 continue * 是专门在循环体内部使用的关键字: break 某一条件满足时

    来自 进击的小one
    00
  • avatar 心谭 2020-01-18 15:30:23

    剑指offer - 二叉树的镜像

    搞清楚镜像的定义,简单来说就是:从上到下,依次交换每个节点的左右节点。 来自《剑指 Offer》的示意图: 代码实现如下: // 原文地址:https://xxoo521.com/2020-01-13-tree-jing-xiang/ // ac地址:https://www.nowcoder.com

    来自 心谭
    10
  • avatar 心谭 2020-01-18 15:31:11

    剑指offer - 树的子结构

    为了方便说明,先看两个例子。 例子 1 下图是第一个例子,可以看到 B 是 A 的子结构。 第一个例子的判断逻辑是: 比较当前节点值 递归比较左右节点的值 直到遍历完 B 树 例子 2 下图是第二个例子,可以看到 B 也是 A 的子结构。 但是 A 的根节点和 B 的根节点并不相同。因此对于

    来自 心谭
    142
  • avatar 心谭 2020-01-18 15:32:28

    剑指offer - 合并两个排序的链表

    设置一个“哨兵节点”叫 preHead,这会让代码写起来非常“清爽”。整体流程如下: 如果 pHead1 和 pHead2,均没遍历完: 如果 pHead1.val <= pHead2.val,那么当前 node 的 next 指向 pHead1。并且移动 pHead1 指针。 否则,当前

    来自 心谭
    81
  • avatar 许愿实习offer 2020-01-18 16:50:28

    TinyHttpd项目学习

    首先放作者上传项目的地址https://sourceforge.net/projects/tinyhttpd/本篇博客主要记录一下在学习这个项目时,通过查资料、看博客或看源码掌握的知识。 函数声明 //每次收到一个请求,创建一个线程来处理该请求 //把client_sock转成地址作为参数传入pth

  • avatar KevinBruce996 2020-01-18 17:46:45

    python输出格式化字符串

    最近在刷算法题,打算考CSP用python,因为python有c++时间限制的10倍,而且有好多相当好用的函数和包。 格式化输出是算法中经常需要用到的东西,这里主要说一下常见的一些格式化输出如何处理。结尾的地方也顺便说一下其它的注意事项。 保留指定小数位数 以保留两位小数为例: num = 3.14

    来自 KevinBruce996
    00
  • avatar Day24h 2019-09-08 14:20:00

    LaTeX常用数学符号

    常用数学符号的 LaTeX 表示方法

    来自 Day24h
    00
  • avatar Day24h 2020-01-18 17:53:00

    Roadblocks

    Roadblocks 该题的难点在于求次短路,而次短路的求法与最短路基本一致,更新的方式就是当当前权重比最短路大且比次短路小的时候就更新它,如果它比最短路小,那么就把它和最短路交换一下 关键代码: //d1[i]是从起点到达i的当前最短路 //d2[i]是从起点到达i的当前次短路 i

    来自 Day24h
    00
  • avatar Day24h 2020-01-18 09:11:00

    路径还原

    路径还原 例如在求解最短路等等问题时,只需用一个pre[]数组在更新我们要求的数据时,记录一下前驱顶点即可

    来自 Day24h
    00
  • avatar Day24h 2020-01-18 08:44:00

    string的插入和删除

    string的插入和删除 参考:string插入和删除 插入(字符串和字符): string& insert(int pos, const char* s); //插入字符串 string& insert(int pos, const string& s

    来自 Day24h
    00
  • avatar Day24h 2020-01-17 19:45:00

    string中find()和substr()的用法

    string中find()和substr()的用法 查找从指定位置开始的 string s="123453"; cout<<s.find('3')<<endl; cout<<s.find('3',2); 输出: 2 2 当找不到的时候,

    来自 Day24h
    00
  • avatar Day24h 2020-01-17 10:16:00

    Bellman-Ford

    Bellman-Ford BF算法求的是单源最短路问题,即每一个点到起点s的最短距离。 算法的思想在于\(d[i]=min(d[i],d[j]+e(j,i))\) d[i]表示点i到s的最短距离,对d[i]不断进行更新,知道不能更新为止,复杂度为\(O(nm)\) 代码: const in

    来自 Day24h
    00
  • avatar Day24h 2020-01-17 09:40:00

    Elections

    C. Elections 证明自己赢的时候获得的票数与贿赂所需的最小代价的函数是一个凸函数: 从自己赢的票数等于 n 的时候往小推,每一次减去一个最大的代价,但是要保证在该情况下能赢 刚开始是单调递增的,但是随着自己的票数越来越少以及某些人的票数越来越多,我们想要自己赢的票数再少一点,那

    来自 Day24h
    00
  • avatar Day24h 2020-01-15 16:46:00

    食物链

    食物链 因为不知道要输入的 x ,是属于A,B,C,哪个位置上的,所以把空间开了三倍,每一种状态都保存一下 如果 x 与 y 同类,那么judge(x,y)为true。 如果 x 吃 y 那么,judge(x,y+n)为true 这个题卡的点在于,poj会卡cin,所以应

    来自 Day24h
    00
  • avatar Day24h 2020-01-15 15:44:00

    next_permutation(begin,end)

    next_permutation(begin,end) 当排列还存在下一种(以字典序排列)排法时,返回true,否则返回false 返回true的同时,把数组变成字典序中的下一种排法。 测试代码: // Created by CAD on 2020/1/15. #include <bi

    来自 Day24h
    00
  • avatar Day24h 2020-01-15 14:54:00

    并查集(防退化)

    并查集(防退化) 防退化的关键操作在于,记录每一个点的高度,合并的时候,将高度较小的点并到高度较大的点上去。 同时还有一个优化技巧就是路径压缩,它会改变树的高度,但是为了方便起见,也不修改 high 的值 合并操作: x=find(x),y=find(y); if(x!=y) {

    来自 Day24h
    00
  • avatar Day24h 2020-01-15 12:20:00

    Two Arrays

    C. Two Arrays \(dp[i][j]\)表示有\(j\)个数每个数的范围为\(1~i\)时的非递减排列种数,因为 n 和 m 的数据范围也不大,用记忆化搜索很快可以得出每一个值。 再来看满足条件时的\((a,b)\),\(a\)为非递减序列,\(b\)为非递增序列,所以\(b

    来自 Day24h
    00
  • avatar Day24h 2020-01-15 11:51:00

    取整

    取整 共包括三个函数,都在<math.h>头文件下 向下取整 floor() 向上取整 ceil() 四舍五入 round() 这些函数很显然只对小数有用,而当要运算两个整型数之间的除法时,要乘一个 1.0,以此来进行浮点数运算。

    来自 Day24h
    00
  • avatar Day24h 2020-01-14 19:38:00

    背包问题

    背包问题 当范围很小的背包问题是很容易解决的,而当范围很大\((例如:1\le n\le 100,1\le w_i\le10^7,1\le v_i\le 100,1\le W\le 10^9)\)时,就应该换一种 dp 的表示方式,这样才能够降低其复杂度。 \(dp[i+1][j

    来自 Day24h
    00
  • avatar Day24h 2020-01-14 19:14:00

    完全背包问题

    完全背包问题 \(\begin{cases}dp[0][j]=0\\dp[i+1][j]=max(dp[i][j-k*w[i]]+k*v[i]) \end{cases}\) 代码: int n,W; cin >> n >> W; for(int i=0;

    来自 Day24h
    00
  • avatar Day24h 2020-01-14 18:19:00

    最长公共子序列

    最长公共子序列 注:子序列是可以不连续的。 递推公式: \(dp[i+1][j+1]=\begin{cases}dp[i][j]+1&(s_{i+1}=t_{j+1})\\max(dp[i][j+1],dp[i+1][j])&(其 他)\end{cases}\

    来自 Day24h
    00
  • avatar Day24h 2020-01-14 16:12:00

    Petya and Exam

    C. Petya and Exam 重要的事情说三遍!认真读题!认真读题!认真读题! 思维要开阔一点,不要被局限住了。 因为 t 很大,所以我们不能遍历 t,但是 n 只有1e5,所以我们可以遍历每道题的截止时间。然后在其多余的时间内尽可能多的做后面还没有做过的简单题,做完了

    来自 Day24h
    00
  • avatar Day24h 2020-01-14 12:26:00

    K for the Price of One

    B. K for the Price of One (Hard Version) 赛时失手推错了规律... 这个题不是单调递增的 但是它有一个规律:当买同样多的东西时,优先买便宜的 所以我们可以求出买 i 个东西时最便宜的价格 sort(a+1,a+n+1); for

    来自 Day24h
    00
  • avatar Day24h 2020-01-13 16:58:00

    Mafia

    C. Mafia 参考:Editorial for Codeforces Round #202 假设最终答案为\(x\),则\((x-a[i])\)表示的是第\(i\)个人可以充当监护者的局数,而\(\sum^n_{i=1}{(x-a_i)}\)表示得则是在进行\(x\)局游戏保

    来自 Day24h
    00
  • avatar Day24h 2020-01-13 14:11:00

    三分

    三分 亲测wa了无数遍得到的板子.... 模板: int l=0,r=n,ans=inf; while(l<=r-1) { int mid=(l+r)>>1; int midmid=(r+mid)>>1; int ans1=jud

    来自 Day24h
    00
  • avatar Day24h 2020-01-12 19:52:00

    Molly's Chemicals

    C. Molly's Chemicals 这道题的思路跟C. Summarize to the Power of Two十分的相似。都是要求关于某个数的倍数。 优化方式都是用一个 map 来储存存在的数字,然后用某个数的幂次方减去当前遍历数字,看 map 是否存在有这个值。因为转化为幂次

    来自 Day24h
    00
  • avatar Day24h 2020-01-12 18:52:00

    DNA Alignment

    C. DNA Alignment 来推导一下这个题: 假设在给定的 s 串中,A,T,C,G分别有 a,b,c,d 个,而要匹配的串中有 A,B,C,D 个,所以其 ρ 值为\(Aa+Bb+Cc+Dd\),而 \(A+B+C+D=a+b+c+d=n\),我们可以自己掌控 A B C D 的多

    来自 Day24h
    00
  • avatar Day24h 2020-01-12 16:18:00

    Vasya and Robot

    C. Vasya and Robot 关键算法:二分、前缀和 刚看到题的时候一点想法都没有... 先观察一下数据范围$(1≤n≤2⋅10^5)(−10^9≤x,y≤10^9) $ 可以用两个数组\(x[i],y[i]\)来表示在\(i\)操作完之后的机器人的位置 fo

    来自 Day24h
    00
  • avatar Day24h 2020-01-12 15:08:00

    Monitor

    Monitor 该题的目标对象是一个二维数组 ①该题没有给出二维数组的具体范围,而只是给出了\(n*m<=1e7\) 不能够直接定义数组,那么就可以进行动态开辟数组 vector<vector<int> > a(n+5,vector<int&g

    来自 Day24h
    00
  • avatar Day24h 2020-01-12 14:43:00

    前缀和

    前缀和 一维: 构建前缀数组: for(int i=1;i<=n;++i) a[i]+=a[i-1]; 应用场景: ①求 \(a[1]~a[i]\)的累加和 ans=a[i]; ②求\(a[i]~a[j](j>=i)\)的累加和 ans=a[j

    来自 Day24h
    00
  • avatar Day24h 2020-01-12 14:11:00

    一维差分和二维差分

    差分 一维: 原数组:\(c[i]\) 差分数组\(a[i]\):表示\(i{\sim}n\)的数,每一个数\(c[j](i<=j<=n)\)都加上一个\(a[i]\) 应用场景: ①把从第\(k~n\)位的数都加上一个\(w\) a[k]+=w; ②

    来自 Day24h
    00
  • avatar Day24h 2020-01-11 16:53:00

    Median on Segments (Permutations Edition)

    E1. Median on Segments (Permutations Edition) 参考:CF1005E1 Median on Segments (Permutations Edition) 思维 中位数为m的条件为,在那一段中,小于 m 的数的个数为 x 个,大于 m 的数有 y

    来自 Day24h
    00
  • avatar Day24h 2020-01-11 15:08:00

    Polycarp and Div 3

    D. Polycarp and Div 3 参考:1005D - Polycarp and Div 3 做这道题要明白一些东西: 能够被3整除的数,其数位之和为3的倍数 如果把数分成一位一位,相邻三个不为0位置一定能够组成一个被3整除的数(111,112,121,122,

    来自 Day24h
    00
  • avatar Day24h 2020-01-11 11:59:00

    Dr. Evil Underscores

    D - Dr. Evil Underscores 参考:Codeforces Round #613 (Div. 2) Editorial 其实比赛的时候就已经想到了基本上一样的解法,可是最后还是没有写出来... 具体思路就是分治,在二进制中,如果\(a_1{\sim}a_n\)

    来自 Day24h
    00
  • avatar Day24h 2020-01-08 21:37:00

    Garland

    C - Garland 参考:Codeforces Round #612 (Div. 2) A~E2 题解 试了试暴力的方法,感觉不大行,所以转战dp 总共有四个状态\(dp[x][i][j][bj]\),表示还有 i 个奇数,j 个偶数可以使用,x~n 位置的复杂度之和的最小值,且位

    来自 Day24h
    00
  • avatar Day24h 2020-01-07 23:58:00

    Hyperset

    B - Hyperset Codeforces Round #612 (Div. 2) A~E2 题解 如果直接枚举的话,复杂度是\(O(n^3)\),显而易见会超时,但是我们会发现一个道理,当其中两个确定的时候,另外一个也就已经确定下来了,而我们要做的工作只是去寻找有没有这样一个东西,与

    来自 Day24h
    00
  • avatar Day24h 2020-01-07 14:54:00

    Portals

    D - Portals 参考:CF1271D Portals dp 贪心 主要要明白两点: 如果a和b都能够派兵前去把守c,且a>b,那么从a派兵去把守c是更优解 派兵要派往分数最大的地方,要把有限的派兵机会用在最值的地方 要实现这两步,要学会反悔贪心法,即如果当

    来自 Day24h
    00
  • avatar Day24h 2020-01-06 23:17:00

    New Year and Permutation

    C. New Year and Permutation 参考:Codeforces Round Hello 2020 A~E 题解 发现了一个网站OEIS,如果打表找规律的话会很方便,虽然这道题没有用上.... 具体思路可看参考视频。 一般数学题都是打表找规律,如果找不出规律,例如

    来自 Day24h
    00
  • avatar Day24h 2020-01-04 19:35:00

    Common Number

    E - Common Number 参考:Codeforces Round #608 (Div. 2) E - Common Number (二分 思维 树结构) 具体做法可详见参考博客。 关键在于在分了奇偶之后,就是有序的了 在数据范围很大的时候,要尝试降低其复杂度,对答

    来自 Day24h
    00
  • avatar Day24h 2019-12-05 19:21:00

    Harmonious Graph

    D. Harmonious Graph 好后悔在写这个题之前浪费了几分钟时间,不然我就写出来了.... 因为他就是连通块之间的合并问题,所以就用并查集就好了 复杂度好像也只是线性的吧... 然后就A了 代码: // Created by CAD on 2019/1

    来自 Day24h
    00
  • avatar Day24h 2019-12-03 20:19:00

    树状数组

    树状数组 #define ll long long #define lowbit(i) (i&-i) const int maxn=1e5+5; int c[maxn], w[maxn], laz[maxn << 2]; ll n,mod=1e9+7; /*单点更新*/ vo

    来自 Day24h
    00
  • avatar Day24h 2019-12-03 18:17:00

    Editor

    E. Editor 我们把“(”用1表示,“)”用-1表示,其余字母用0表示,这样形成的一个数组,我们求出它的前缀和sum[],只有当\(sum[n]==0\)且\(min(sum[])==0\)中的时候,才表示括号正好匹配,且最大嵌套数为\(max(sum[])\) 对于一个数

    来自 Day24h
    00
  • avatar Day24h 2019-12-02 18:25:00

    2019.11.30训练赛总结

     2019.11.30训练赛总结 Codeforces Round #499 (Div. 2) 总的来说是一场很不愉快的比赛。漏洞百出。 对于A题,其实没有什么技术含量,只是写的时候忘记了边界的情况,导致出现错误。 B题,一定程度上考验了思维,既然从正面做不行,那么我可以反着来,既然求不可以

    来自 Day24h
    00
  • avatar Day24h 2019-11-24 11:15:00

    19.11.24

    我也不知道为什么最近好累,cf最近也是一直掉分,连B题都能一直wa也是没谁了 都不知道能写些啥了,就这么多吧。 祝好 加油

    来自 Day24h
    00
  • avatar Day24h 2019-11-23 18:11:00

    Send Boxes to Alice

    E. Send Boxes to Alice 首先求出每一个位置的前缀和。 对答案进行复杂度为\(\sqrt{a[n]}\)的遍历,因为最后的答案不可能大于\(\sqrt{a[n]}\) for(ll j=2;j*j<=a[n];++j) if(a[n]%j==0)

    来自 Day24h
    00
  • avatar Day24h 2019-11-23 14:48:00

    Feeding Chicken

    D - Feeding Chicken 从左上角开始,往右下角开始遍历,但是遍历的时候需要注意一点,就是遍历的时候需要连起来,就比如第一行从左往右进行遍历,但是第二行不能从左往右了,因为这样就分开了,所以第二行就应该从右往左遍历,因此,奇数行从左往右遍历,偶数行从右往左遍历。 实现代码:

    来自 Day24h
    00
  • avatar Day24h 2019-11-21 19:55:00

    League of Leesins

    C - League of Leesins 首先找到每一串数字的头和尾两个数字,这两个数字有一个特点,就是它们在输入数据的时候都只会出现一次。我们在输出的时候用头和尾做第一数都可以。 然后第二个数只会出现两次,这样就可以找到第2个数,然后依次类推,就可以找完了 代码: // Cr

    来自 Day24h
    00
  • avatar Day24h 2019-11-09 16:48:00

    不要62

    不要62 参考: HDU2089 不要62 标准数位DP 从最高位开始递归,如果有4或者62则不往下走。 dp[i][j]表示的是有i位数字,且第i位数字为j并满足题给条件的数字的个数 其实也就是记忆化搜索的感觉,保留搜过的状态,以避免重复运算。 代码: //

    来自 Day24h
    00
  • avatar Day24h 2019-11-09 14:45:00

    windy数

    windy数 参考: 题解 P2657 【[SCOI2009]windy数 windy数 数位dp练习题——只要学了数位dp就异常简单的题 用数位dp解决这个问题。 数位 DP 问题往往都是这样的题型,给定一个闭区间[l,r],让你求这个区间中满足 某种条件 的数的总

    来自 Day24h
    00
  • avatar Day24h 2019-11-07 18:27:00

    Equalizing Two Strings

    F. Equalizing Two Strings 有几种情况可以直接判定结果: ① 字母对应个数不一样,可直接判NO ② 当不满足①时,如果有一个字母有2个及以上的个数,也可直接判YES ③ 当不满足①②时我们可以知道,此时的字符串最多也只有26个字符,所以可以直接暴力,一个字符串

    来自 Day24h
    00
  • avatar Day24h 2019-11-07 14:59:00

    Yet Another Division Into Teams

    E. Yet Another Division Into Teams 首先要想明白一个东西,就是当一个小组达到六个人的时候,它一定可以拆分成两个更优的小组。 这个题可以用动态规划来写,用一个数组来保存状态,用一个队列来尝试新的状态,但是因为上面的这个特性,每一次只会有三个新的状态。

    来自 Day24h
    00
  • avatar Day24h 2019-11-05 14:13:00

    Common Subsequence

    L - Common Subsequence 参考:ACM POJ 1458 Common Subsequence (最长公共子序列,动态规划) 思路:二维动态规划。 dp[i][j]:在截止至s1的i-1,s2的j-1位置,两个串的最长公共子序列长度。 动态规划方程:

    来自 Day24h
    00
  • avatar Day24h 2019-11-02 15:05:00

    Shichikuji and Power Grid

    D. Shichikuji and Power Grid 参考:Codeforces Round #597 (Div. 2) 思路:一个很裸的最小生成树。把建立基站看成是,城市与源点(虚构的)建边。由此建立最小生成树,即可得出答案。 代码: // Created by C

    来自 Day24h
    00
  • avatar Day24h 2019-10-31 14:32:00

    Jury Compromise

    K - Jury Compromise 参考:ACM POJ 1015 Jury Compromise(陪审团的人选,动态规划题,难) 说实话真有点难想,用一个DP[i][j]来表示在选取i个人,辩控差为j(j值已做些许处理)时辩控总分的最大值,用三个for循环来更新这个值。具体

    来自 Day24h
    00
  • avatar Day24h 2019-10-29 15:47:00

    FatMouse's Speed

    J - FatMouse's Speed DP的题写得多了慢慢也有了思路,虽然也还只是很简单的DP。 因为需要输出所有选择的老鼠,所以刚开始的时候想利用状态压缩来储存所选择的老鼠,后面才发现n太大1<<1000根本存不下来... 思路的话其实也不难,把体重排序之后,对速度

    来自 Day24h
    00
  • avatar Day24h 2019-10-26 19:54:00

    最少拦截系统

    I - 最少拦截系统 参考:ACM HDU 1257 最少拦截系统、 思路:这个题其实是个贪心,每一次只需要找到一个离当前导弹高度最近的一个拦截系统进行拦截,即是最优解。 代码: // Created by CAD on 2019/10/26. #include <

    来自 Day24h
    00
  • avatar Day24h 2019-10-26 19:14:00

    Tickets

    H - Tickets 参考:Tickets——H 思路:对于每一个买票的人来说,只需要决定他是自己买票还是跟前面的人一块买票即可。 假设三个人 A B C,当 C 要跟 B 一块买票的时候,B 不能够跟 A 一起买。 那么状态方程就应该是dp[i]=min(dp[i-1

    来自 Day24h
    00
  • avatar Day24h 2019-10-26 17:32:00

    免费馅饼

    G - 免费馅饼 参考: 免费馅饼~-~(hdu 1176) 思路:刚开始始的时候想dfs,但是数据太多了,而且有些情况也会漏掉。 于是DP是最好的选择,但是DP的时候又要考虑到一点,起始位置是固定的,无法确定最大值与起始位置的联系,所以,需要反着来算,从最后一秒开始计算,对

    来自 Day24h
    00
  • avatar Day24h 2019-10-26 14:13:00

    Super Jumping! Jumping! Jumping!

    E - Super Jumping! Jumping! Jumping! 思路:就是按照求最长有序子序列的思路来写,跟Monkey and Banana的思路大同小异。 代码: // Created by CAD on 2019/10/26. #include <bits/st

    来自 Day24h
    00
  • avatar Day24h 2019-10-26 12:33:00

    Doing Homework

    D - Doing Homework 参考:ACM HDU 1074 Doing Homework(位运算,搜索,状态压缩DP) 思路:因为每个作业给定的顺序就是按照字典序的顺序,所以不用再多去比较。 该题的n不大,同时我们又想用DP来完成这道题,那么一个很好的办法来储存状态

    来自 Day24h
    00
  • avatar Day24h 2019-10-17 20:09:00

    Monkey and Banana

    C - Monkey and Banana 参考:ACM HDU 1069 Monkey and Banana (动态规划) 思路:对于这道DP题来说,如果以高度或者说砖块的个数来作为储存的状态的内容,显然是不合适的。 不难看出,这道题主要是想求一个最长有序子序列,那么我们首

    来自 Day24h
    00
  • avatar Day24h 2019-10-16 19:33:00

    Max Sum Plus Plus

    A - Max Sum Plus Plus 参考:HDU 1024 Max Sum Plus Plus(动态规划,给定一个数组,求其分成m个不相交子段和最大值的问题) 思路:想了好久好久...才把它想懂。但是还是不明白为什么最初的代码会WA 用dp来写这道题,最原始的公式为d

    来自 Day24h
    00
  • avatar Day24h 2019-10-14 19:35:00

    查找链表的中间结点

    查找链表的中间结点 题目:设计一算法查找链表的中间结点。要求该算法的时间复杂度为O(n),空间复杂度为O(1)。 当看到这个时候想了半天没想出来,时间复杂度是没问题的,但是空间复杂度要达到O(1)还是有一点不好办,然后百度了一下,发现有快指针和慢指针的写法,于是我就进去瞧了瞧,突

    来自 Day24h
    00
  • avatar Day24h 2019-10-10 19:09:00

    Tiling_easy version

    Tiling_easy version 思路:关于dp这种东西,有一点必须要想明白,就是状态与状态之间的转换关系,就比如说要求5个骨牌的方案数,因为有两种骨牌,那么可以用dp[3]+两个横着的骨牌或者一个2*2的骨牌,或者是dp[4]+一个竖着的1*2骨牌来构成,那么递推的公式就是dp[5]

    来自 Day24h
    00
  • avatar Day24h 2019-10-08 14:13:00

    国庆过后

    国庆过后 我感觉自己真的好丧 在acm的贴吧发了条贴,想问问大家学了一年大概能打成啥样 一般水准cf都能打到1700+,然而我才1500+.... 感觉自己真的差好多,感觉找不到努力的方向,也或者说,没有很大的动力,也许这才是自己丧的点吧.... 不过有时候又安慰自己,其实自己还没有到一年

    来自 Day24h
    00
  • avatar Day24h 2019-10-05 13:26:00

    飞行员配对方案问题

    P2756 飞行员配对方案问题 参考:「网络流24题」 1. 飞行员配对方案问题 思路:这是个二分图的匹配问题,虽然之前写过一遍了,再写一遍温习温习也无妨。使用匈牙利算法 感觉参考博客中有一句话特别经典,很能描述匈牙利算法的思路..... 👇 👇 👇 👇

    来自 Day24h
    00
  • avatar Day24h 2019-10-04 14:14:00

    Another Filling the Grid

    E. Another Filling the Grid 参考:Codeforces Round #589 (Div. 2)-E. Another Filling the Grid-容斥定理 容斥这个东西可以理解,但是运用到实际的时候,还是觉得有点迷迷糊糊的,不知道套公式会不会是一

    来自 Day24h
    00
  • avatar Day24h 2019-10-02 14:54:00

    Complete Tripartite

    D - Complete Tripartite 思路:这个题是个染色问题。理解题意就差不多写出来一半了。开始的时候还想用离散化来储存每个点的状态,即它连接的点有哪些,但很无奈,点太多了,long long范围内肯定存不完,于是想到用python来写,但是 py 也没有很熟练.....便放弃了

    来自 Day24h
    00
  • avatar Day24h 2019-10-01 23:10:00

    Primes and Multiplication

    C - Primes and Multiplication 思路:找到x的所有质数因子,用一个vector储存起来,然后对于每一个质因子来说,我们要找到它对最后的答案的贡献的大小,即要找到它在最后的乘积中出现了多少次。 求解方法: for(auto i:v) { ll cnt

    来自 Day24h
    00
  • avatar Day24h 2019-10-01 15:49:00

    Konrad and Company Evaluation

    F. Konrad and Company Evaluation 参考:[codeforces 1230F]Konrad and Company Evaluation-暴力 思路:题意分析见参考博客。因为求的是三元组的个数,所以在保存的时候的时候就保存为有向图,让工资少的员工指向

    来自 Day24h
    00
  • avatar Day24h 2019-09-29 22:46:00

    Kamil and Making a Stream

    E. Kamil and Making a Stream 参考:Codeforces Round #588 (Div. 2)-E. Kamil and Making a Stream-求树上同一直径上两两节点之间gcd的和 思路:求的就是1~n之间所有最短路的gcd之和。 用

    来自 Day24h
    00
  • avatar Day24h 2019-09-26 19:23:00

    Marcin and Training Camp

    D. Marcin and Training Camp 参考:D. Marcin and Training Camp 思路:首先先确定最大成员的\(a_i\),因为不能够某个成员i认为自己比其他所有成员都厉害,所以必须要有一个人j来压制他。压制有两种方法:①\(a_j\)跟他一样

    来自 Day24h
    00
  • avatar Day24h 2019-09-25 18:32:00

    Anadi and Domino

    C - Anadi and Domino 参考:Anadi and Domino 思路:分为两种情况: ①n<=6,这个时候肯定可以保证降所有的边都放上一张多米诺牌,那么答案就是m ②n==7,在这种情况下肯定会出现某两个点a和b是靠一张两端同点数的多米诺牌连接起来

    来自 Day24h
    00
  • avatar Day24h 2019-09-22 15:31:00

    White Sheet

    C - White Sheet 思路:先看代码,分成了四个条件。第一个和第二个表示的都是当白矩形存在某个黑矩形内部的情况。 另外就是:白矩形位于两个黑矩形的并集区域。 即可分为两种情况,一种是白矩形位于竖的区域(条件三),上图: 那么黄***域就是判断范围 另一种是横的

    来自 Day24h
    00
  • avatar Day24h 2019-09-21 12:34:00

    Into Blocks (easy version)

    G1 - Into Blocks (easy version) 参考:Codeforces Round #584 - Dasha Code Championship - Elimination Round (rated, open for everyone, Div. 1 + Div. 2) G1

    来自 Day24h
    00
  • avatar Day24h 2019-09-18 16:59:00

    Cow and Snacks

    ​ D. Cow and Snacks 参考:Codeforces 1209D. Cow and Snacks 思路:利用并查集,构建一个生成树,然后树的边数就是能够开心的客人的人数。用一个条件find(u)!=find(v)(我在代码里反了一下),来统计某一种味道的菜是否已经被

    来自 Day24h
    00
  • avatar Day24h 2019-09-15 14:55:00

    Paint the Digits

    C - Paint the Digits 思路:这道题就只需要利用单调栈,将整个数组扫一遍,求得的最后的栈内元素(要求全部小于非栈内元素)的颜色为1,其余为2 那么怎么实现呢?求最后的栈内元素(要求全部小于非栈内元素)的方法:用一个变量记录下最小的被交换的栈元素(这里需要将由于元素相等而

    来自 Day24h
    00
  • avatar Day24h 2019-09-14 17:00:00

    Path

    Path 参考:[2019杭电多校第一场][hdu6582]Path(最短路&&最小割) 思路:这道题需要用到最短路和最小割。首先需要用最短路,找到最短的路径,然后再利用dis[e[j].s]+e[j].w==dis[e[j].t这个条件,重新建图,在重新建的图当

    来自 Day24h
    00
  • avatar Day24h 2019-09-14 15:19:00

    最大流=最小割

    最大流=最小割 参考:【转载】最小割 可以证得最大流的值即为最小割 最大流可由dinic算法求得

    来自 Day24h
    00
  • avatar Day24h 2019-09-08 14:16:00

    站军姿

    D. 站军姿 参考:随机在圆上生成n个点,这n个点在同一半圆的概率是多少? 思路:直接利用公式,随机在圆上生成n个点,这n个点在同一半圆的概率是\(\frac{n}{2^{n-1}}\) ,求逆元的时候直接用费马小定理即可 代码: // Created by CAD on

    来自 Day24h
    00
  • avatar Day24h 2019-09-07 18:29:00

    Fibonacci again and again

    Fibonacci again and again 参考:SG函数和SG定理【详解】 思路:这是比较简单的SG定理的运用,SG定理——游戏和的SG函数等于各个游戏SG函数的Nim和 如果一个位置x的SG值为0,那么这个点就为必败点P,否则就是必胜点N 必败点:用N表示 必胜点:

    来自 Day24h
    00
  • avatar Day24h 2019-09-07 18:18:00

    巴比博弈

    巴比博弈 参考:博弈论及算法实现 只有一堆n个物品,两个人从轮流中取出(1~m)个,最后取光者胜。 考虑到 若n=m+1那么 第一个人不论如何取都不能取胜。 进一步我们发现 若 n=k(m+1)+r,先取者拿走r个,那么后者再拿(1~m)个 n=(k-1)*(m+1)+r; 先

    来自 Day24h
    00
  • avatar Day24h 2019-09-06 19:27:00

    火烧赤壁

    火烧赤壁 隔了一天再来理解就想对来说舒服多了,也不知道是不是因为昨天太忙了没有专心.... 参考: 火烧赤壁 题解 火烧赤壁题解 思路:首先必须要明白一点,这道题需要将船只的位置标记出来,但是看到数据为(-1e9,1e9)就可以知道,很明显直接用一个数组来储存是不可能的。但

    来自 Day24h
    00