摘要: 写在卸载之前 一个蒟蒻无力的挣扎 如果你是在阅读本人的博文来实现俄罗斯方块 在实现俄罗斯方块之前 本人建议先左转贪吃蛇 正式开始 本来还是想秉持拿来主义 像贪吃蛇一样从网上随随便便找一个拿来写写 但是由于网上的俄罗斯方块 实在是要么看不懂要么运行不了这话好像已经说过了 所以没有办法 只好自己手写一个 阅读全文
posted @ 2021-03-10 18:41 tcswuzb 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 写在卸载之前 一个蒟蒻无力的挣扎 正式开始 首先 为了保证代码的大部分你可以看懂 你需要具备类与对象的前置知识 可以看看这里 使用C++实现贪吃蛇 尽管网上已经存在很多版本 但是 要么看不懂 要么连运行都运行不了 所幸 还是找到了一篇可以看懂的博客 本代码大多数都是从这篇博客借鉴抄袭而来 由于AI智 阅读全文
posted @ 2021-03-10 16:32 tcswuzb 阅读(1889) 评论(0) 推荐(3) 编辑
摘要: 写在卸载之前 其实C++这门计算机语言目前只能说会也就是入门 但是不能说精通 所以最近会学一些东西然后不定期整理上去 允许我夹带一波私货 正式开始 一.oct,hex,dec ta们伴随cout分别输出八进制,十六进制,十进制 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2021-02-23 19:30 tcswuzb 阅读(107) 评论(0) 推荐(0) 编辑
摘要: Day 1 简要的说了些注意事项 一整天都在刷树套树的水题 退役的感觉近了 Day 0 早上收拾好东西去了火车站之后 火车站居然还没有开门 等了半天 我们是从衡水到德州再到秦皇岛 到了德州之后 去车站吃了肯德基 然后做了三个多小时的车 到了燕大宾馆之后 发下行李 先吃了饭 然后去试机 试机之后 下午 阅读全文
posted @ 2019-04-24 19:51 tcswuzb 阅读(427) 评论(0) 推荐(3) 编辑
摘要: 也不知道写一些什么了 凑和着写写吧 最近十分的¥#&(^ ……#%!*%¥^#$# Day -1 上午考了一场试 就$TM$考了60分 好不容易积攒起来的信心啊~~~~~~ 就这么垮了~~~ 下午每一个人把考前注意事项好好的说了一下 大抵都是什么 1.不开$long\ \ long$见祖宗 2.$m 阅读全文
posted @ 2019-03-24 21:16 tcswuzb 阅读(474) 评论(1) 推荐(3) 编辑
摘要: 题目链接 题意分析 考试的时候想到了按位分析 但是由于计算公式过于麻烦 所以就咕了 现在考虑一下按位分析怎么做 我们对于当前第$i$位可以做的贡献 假设分割之后它处在第$j$位上 那么他的贡献就是 \(d*10^j*num\) $d$表示第$i$位的数字 而$num$表示这样之后的划分方案数 所以接 阅读全文
posted @ 2021-08-13 17:55 tcswuzb 阅读(48) 评论(0) 推荐(1) 编辑
摘要: 写在之前 选自《Python编程从入门到实践》 正式开始 生成数据 对于密集的数据,只是简单直观的观察无法明白其含义,而通过类似于图表方式呈现数据便于理解含义 Python中的Matplotlib用于制作简单的图表,例如折线图以及散点图 Pygal专注于生成适合在数字设备显示的图表。通过使用Pyga 阅读全文
posted @ 2021-08-09 01:26 tcswuzb 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 对拍器代码 @echo off :loop echo 正在进行对拍!!! data.exe > data.in std.exe <data.in> std.out baoli.exe <data.in> baoli.out fc std.out baoli.out if not errorlevel 阅读全文
posted @ 2021-07-13 19:30 tcswuzb 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 类与对象 学了之后 感觉类与结构体其实差不太多 1.声明类 class Human { string Name;//内部变量 int Age,Birth; void Talk(string Text);//封装函数 void IntroduceSelf(); }; 注:属于类的函数被称为方法 2.实 阅读全文
posted @ 2021-03-01 17:30 tcswuzb 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 对于这道题 能留下大的尽量留下大的 我们以n为根 根是必选的 然后从大到小 如果当前点i未被留下 并且留下i到根n的所有点不会超过n-k 那么就全部留下 对于判断的话 由于一个点i被留下 那么i的祖先节点也会被留下 所以对于未被留下的点 我们使用倍增确定i往上最近的未被留下的点 阅读全文
posted @ 2021-02-27 21:23 tcswuzb 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 求解最长路径的问题 我们可以使用DP 但是这里求GCD比较恶心 我们可以转换思路 gcd(x,y)≠1 说明x,y之间必然存在公共质因子 那么我们可以通过枚举质因子代替gcd 由于2×3×5×7×11×13×17×19=9699690>200000 所以枚举质因子对于复杂度几乎无 阅读全文
posted @ 2021-02-27 21:14 tcswuzb 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 由于这道题的话 答案是单调的 所以我们用二分答案求解 对于相邻的两个串$S_i$以及$S_{i+1}$ 如果$|S_i|\(<\)|S_{i+1}|$ 那么$S_{i+1}$就是$S_i$后接a 如果$|S_i|\(>\)|S_{i+1}|$ 我们考虑先删除$S_i$后$|S_i 阅读全文
posted @ 2021-02-21 11:34 tcswuzb 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 详细可以参考刘汝佳的《算法竞赛入门经典》(蓝皮书) 首先 可以透过的一定不存在立方体 其次如果一个立方体存在至少两个面确定颜色不一样的话 也是不存在的 存在这样情况的话 我们就一直删除 知道再也删不了为止 CODE: #include<bits/stdc++.h> #define 阅读全文
posted @ 2021-02-19 17:38 tcswuzb 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 一看题意还有数据范围就是知道是数位DP 我们考虑一个数x被整除他所有非零位的数字 等于被整除所有非零位数字的最小公倍数 由于{1,2,3,4,5,6,7,8,9}的最小公倍数是2520 所以我们维护三个状态[i][j][k]表示第i位且对应%2520=j 最小公倍数是k的方案数 阅读全文
posted @ 2021-02-18 19:46 tcswuzb 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 由于这道题只涉及了二进制运算中的按位与运算 这种情况一般都是对于每一位进行方案统计 由于是方案统计 所以我们可以使用dp计数 首先 对于一个限制(li,ri,xi) 如果对于一位p(0≤p<k) xi在这一位是1 那么序列a在这一位满足[li,ri]均为1 xi在这一位是0 那么 阅读全文
posted @ 2021-02-18 14:38 tcswuzb 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 写在卸载之前 表明参考出处一位dalao 正式开始 对于一道题分析 可以使用线段树进行区间覆盖 但是这里的话一位大佬提出使用并查集想法 首先 我们固定左端点 然后 不断移动右端点 当然 朴素的写肯定会挂 我们发现 每一次朴素移动的话浪费时间就是因为已被删除元素被重复删除 所以我们使用并查集来维护这个 阅读全文
posted @ 2021-02-17 21:38 tcswuzb 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目链接 B 按照monster的攻击力排序 由于存在同归于尽也算成功 所以我们需要讲攻击力最大的monster放在最后 保证同归于尽的这一次效率最大 CODE: #include<bits/stdc++.h> #define M 1008611 using namespace std; int T 阅读全文
posted @ 2021-02-13 22:59 tcswuzb 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 做这道题的时候一定要明白 你所负责的是运输 安装是原住民的事情 是可以同时运输+多个安装 我们设置dp[x] 表示走完以x为根的子树 并且所有人都安装完之后的最大时间 设置time[x] 表示走完以x为根的子树所用的时间 那么当前的转移就是 其中y是x的儿子 sum表示走完y之前 阅读全文
posted @ 2021-02-10 20:06 tcswuzb 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 计数问题跑DP 这是常识原谅我第一时间没有想出来 我们用dp[i]表示搭乘第i辆车下车的方案数 最终的答案 就是把所有终点站ti=n的车下车的方案数累加 现在考虑怎么转移 我们先把所有车按照终点站排序 对于第i辆车 查找哪些车会停在[si,ti-1] 将这些车的方案累加到dp[i 阅读全文
posted @ 2021-02-07 22:16 tcswuzb 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 位运算 我们一看就是要对于每一位考虑 对于按位与 a&b 如果对于b的修改超过了a的最高位 那么对于a&b的结果不会有任何影响 我们假设一开始s是0 每变动一位 ta与这一位是1的数的按位与的结果上1的个数的奇偶性就会发生改变 奇偶性改变 对应的正负性也会改变 我们从低位到高位讨 阅读全文
posted @ 2021-02-07 16:42 tcswuzb 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 由于题目要求没有说一块特定的石头上必须要到一个特定的位置 而是要求每一个位置上有石头就行 所以我们把石头的原始位置与目标位置排序 这样也保证了石头之间的移动轨迹互不交叉 存在方案 必须满足如下两个条件 1.石头向左移动的总距离和向右移动的总距离必须相等 2.我们从左往右扫的时候 阅读全文
posted @ 2021-02-07 16:30 tcswuzb 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 我们考虑从1到n不断进行维护 同时令mid=n/2 接下来我们讨论如何交换x,y这两个位置上的数 1.1≤x≤mid,mid<y≤n 1 x mid y n 使用两次交换 1-y x-n y n mid 1 x 使用一次交换 x-y x n mid 1 y 使用两次交换 1-x 阅读全文
posted @ 2021-02-07 16:12 tcswuzb 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 考试的时候从这道题开始就一直在死 我们从0到k枚举第一批航班取消多少个 根据贪心取消的肯定都是最靠前的航班 同时维护一个指针用于维护第一批航班中没有取消的最早到达的第二批航班中的时间 看看从ta开始取消之后还能否到达第二批航班 不能的话就输出-1 能的话就就将其同当前维护的答案比 阅读全文
posted @ 2021-02-07 15:50 tcswuzb 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 我们考虑一下 对于一个最简分数$\frac$ 在$k$进制下可以表示为纯循环小数 设其循环节长度为$l$ 同时令$[x]$表示x的小数部分 那么 \([\frac{x}{y}]=[\frac{xk^l}{y}]\) 也就是 \(\frac{x}{y}-\lfloor\frac{x 阅读全文
posted @ 2021-02-05 17:40 tcswuzb 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 题意分析 \(\sum_{i=1}^n\sum_{j=1}^n(ijgcd(i,j))=\sum_{i=1}^n\sum_{j=1}^n\sum_{d=1}^n(dij)[gcd(i,j)=d]=\sum_{d=1}^nd^3\sum_{i=1}^{\lfloor\frac{n}{d} 阅读全文
posted @ 2021-02-05 15:12 tcswuzb 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 写在卸载之前 一个蒟蒻无力的挣扎 正式开始 【安利一个不错的博客】 我们有一个积性函数$f(n)$ 现在求 \(\sum_{i=1}^nf(i)\ \ (n≤10^9)\) 求解积性函数 我们很容易想到线性筛 但是这道题的话只用线性筛过不了 所以 就有了一个叫做杜教筛的东西 根据迪利克雷卷积 \(h 阅读全文
posted @ 2021-02-05 14:26 tcswuzb 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 \(\sum_{i=1}^nx\%i=\sum_{i=1}^n(x-\lfloor\frac{x}{i}\rfloor i)=nx-\sum_{i=1}^n\lfloor\frac{x}{i}\rfloor i\) 想到了整除分块 这样的话复杂度$O(n\sqrt)$ 但是由于$ 阅读全文
posted @ 2021-02-04 14:39 tcswuzb 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 这道题就是要你推式子主要是俺也不懂什么高斯素数 对于 \(x^2+y^2=r^2\) 我们转化为 \(y^2=r^2-x^2=(r+x)(r-x)=dx*dy\ \ \ (x⊥y)\) 由于$x⊥y$ 那么我们一定可以转化为如下形式 令$x=s2\ \ \ y=t2$ \(y^2 阅读全文
posted @ 2021-02-04 13:31 tcswuzb 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 一个图是二分图的充要条件:该图中不存在奇环 由于奇偶性的关系 复杂奇环的产生一定源于简单奇环 所以我们仅仅考虑删去一条边使得所有简单奇环被破坏 也就说 我们仅仅考虑简单环 首先 我们从这张图中拽出一个生成树 然后 对于非树边 如果加上去的话 必然会产生一个环 我们需要统计会产生奇 阅读全文
posted @ 2021-02-03 13:37 tcswuzb 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 这道题正解好像是折半状压 但是俺就是喜欢模拟退火 每一次随机的话 就是交换两个数的位置 然后比较前一半和后一半 CODE: #include<bits/stdc++.h> #define INF 0x7fffffff #define N 2010 using namespace 阅读全文
posted @ 2021-02-02 20:07 tcswuzb 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 这道题正解是啥我不清楚 我只是来联系一下模拟退火 关于模拟退火要注意的几点 1.初始温度$T$ 以及每一次降温的比例$ΔT$ 2.如果当前可以取代最优解的话 就取代 否则的话 就按照多项式复杂度$e^{\frac{Δf}}\(同\)\frac{rand()}$比较 大于的话 我们 阅读全文
posted @ 2021-02-02 19:03 tcswuzb 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 首先 这是一道数学题 给你一个三角形 求出一个面积最小的正多边形 使得这个三角形的三个点都与其多边形点重合 如果你学过高中数学的话 应该明白 这个三角形与这个多边形共用一个外接圆 先求出三角形三边长$a,b,c$ 然后通过海伦公式求出面积$S_=\sqrt{p(p-a)(p-b) 阅读全文
posted @ 2021-02-02 15:45 tcswuzb 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 其实关于这道题的话 最下面的题意概括已经说的很明了 关于这道题 我们的第一想法是DP $f_i$表示已经分好了前$i$个数字的最小代价 我们枚举k作为一段$[k,j]$的开头进行转移 \(f_i=min\{f_{k-1}+\max_{j=k}^ih_j\}(\sum_{j=k}^ 阅读全文
posted @ 2021-02-02 11:47 tcswuzb 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 这是一道花了一晚上+上午两个小时+下午两个小时干出来的题 真心不容易 首先 一看这道题的题面 对于多组询问求解第k小 就让人想到了整体二分 但是我们需要处理一个棘手的问题 怎么判断一条路径 u→v 被另外一条路径 x→y 覆盖呢? 这个我们我们可以使用dfs序解决 这里我们令df 阅读全文
posted @ 2021-02-01 18:00 tcswuzb 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 今天闲的蛋疼就复习一下数据结构 写在之前 树状数组是一个好文明 TA可以说是目前维护$O(\ nlogn\ )$数据结构当中常数最小的 一般来讲 维护序列的树形数据结构当中 往往是 树状数组 < 线段树 < 平衡树 神级操作 1.区间修改区间查询 树状数组可以说是把差分思想运用到极致的数据结构 没有 阅读全文
posted @ 2021-01-27 15:51 tcswuzb 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 写在卸载之前 正在数论只会抄题解的道路上越行越远 正式开始 1.迪利克雷卷积 1)定义新运算$*$ 注意这里$*$不是乘法 $h,f,g$都是函数名称 定义 \(h=f*g\) \(h=f*g=\sum_{d|n}f(d)g(\frac{n}{d})=\sum_{d|n}f(\frac{n}{d}) 阅读全文
posted @ 2021-01-25 22:41 tcswuzb 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 明眼人一看就会发现这是一道裸的Splay吧准确来说是平衡树可是本蒟蒻就会使用Splay 对于五种操作 转换成Splay就是 1.把指定元素放在序列首位 我们让该元素成为root 然后将ta的左子树合并到该元素的后继 2.把指定元素放在序列末尾 我们让该元素成为root 然后将ta 阅读全文
posted @ 2021-01-25 16:06 tcswuzb 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 看这篇题解 默认你已经会LCT并且明白如何使用了 说实在的 这题跟【P3203 [HNOI2010]弹飞绵羊】简直如出一辙 首先 我们根据题意可以得到一棵树 如果i+power[i]≤n的话 那么i+power[i]就是i的父亲 否则就令n+1是i的父亲 可以发现 n+1就是这棵 阅读全文
posted @ 2021-01-24 23:55 tcswuzb 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 对于每一个点i 都指向一个点fi 从而形成一个有向图 请问至少添加多少条边 可以将原图变成一个强连通图 并输出任一方案 啥是强连通图 对于一个有向图D 如果任意点vi,vj且vi≠vj 满足从vi到vj 从vj到vi 都存在一条路径使得其连通 那么有向图D就是强连通图 首先 我们 阅读全文
posted @ 2021-01-24 17:34 tcswuzb 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 一看这道题我们 我们第一反应是枚举然后判断 但是这样的复杂度达到了$O(2^{30}*n)$ 很显然是过不了的 我们冷静一波可以发现 如果将每一个数的前15位以及后15位拆开的话 也就是只考虑15位 这个复杂度是可以接受的 那么我们可以考虑使用Meet in The Middle 阅读全文
posted @ 2021-01-23 18:18 tcswuzb 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意分析 一开始看的时候以为就是一道普通的二维数点问题 但是后来一看发现不是那么回事 因为ri的原因 存在我看得见你而你看不见我的情况 所以我们可以将这些点按照ri降序排序 这样后面的点如果可以看见前面的点 前面的点一定可以看见后面的点 这样的话就是二维数点问题了 但是我们发现这里的k很小 阅读全文
posted @ 2021-01-23 12:55 tcswuzb 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 题意分析 这道题感觉应做的话可以 但是巧法锻炼思维 首先 我们枚举正方形的左上角坐标 然后依次扫描四条边的长度 注意这里扫描有两种方式 平行于边以及平行于对角线 判断四条边的长度是否相等 这是第一个指标 然后 我们还需要判断这是否是一个独立的正方形 这里 我们可以使用搜索判断联通的1的 阅读全文
posted @ 2021-01-21 16:36 tcswuzb 阅读(132) 评论(0) 推荐(0) 编辑