题解joisc 2019

P6631 [ZJOI2020] 序列题解

难度:困难 主要算法:贪心 题目链接:https://www.luogu.com.cn/problem/P6631 解题思路 简化问题:定义直线为覆盖ai,ai+1,ai+2 的操作,跳线为覆盖ai,ai+2,ai+4的操作。题意简化为使用一些直线和一些跳线使每个位置被覆盖正好ai次。 小范围思考: ......
题解 序列 P6631 6631 2020

题解 - CF1972E - Divisors and Table

这题正解是虚树,本解法卡常,仅适合不会虚树的。(例如本人) 注意:下文中根节点深度定义为 1 . 第一步: 转化问题 我们把 $ g(x,y,z) $ 拆开,考虑每个质数是哪些点的因子。 包含这个质数的点构成一个点集,我们只需求这个点集 S 的 $ \sum\limits_{x,y,z\in S } ......
题解 Divisors 1972E Table 1972

【题解】CodeForces-1876/1877

CodeForces-1877A Goals of Victory 答案是 \(-\sum_{i=1}^{n-1} a_i\)。 提交记录:Submission - CodeForces CodeForces-1876A Helmets in Night Light 按 \(b_i\) 排序,贪心取 ......
题解 CodeForces 1876 1877

[极客大挑战 2019]HardSQL

原理 用fuzz字典来爆破哪些关键字被过滤了 sql语句可以不用空格,仅用括号来隔开username=1'or(updatexml(1,concat(0x7e,database()),1))%23 url编码一些值:%20空格 %23#。。。and关键字可以用^来代替,=可以用like来代替。有时候 ......
HardSQL 2019

[ZJCTF 2019]NiZhuanSiWei

原理 解题过程 进入靶场看到源码 <?php $text = $_GET["text"]; $file = $_GET["file"]; $password = $_GET["password"]; if(isset($text)&&(file_get_contents($text,'r') "we ......
NiZhuanSiWei ZJCTF 2019

[极客大挑战 2019]BuyFlag

原理 弱比较问题 科学计数法绕过 cookie字段的修改 解题过程 进入靶场,页面没什么提示,就先看下原代码吧 看到有两个超链接,现在这个页面是index.php,看一下flag.php 有这几个提示,要满足两个条件咯,再看下原代码 发现有后端源码,也就是说要传入password和money,这里的 ......
BuyFlag 2019

P4801题解

解题思路: 确实是一道很好的贪心,但由于加上了水这个影响因素,使题目复杂度上升了不少。(考虑的东西多了嘛) 输个入。 对饼干温度无脑排序。 求最小值。 求最大值(用双指针做,后面会讲)。 解题过程: 先输入(这个步骤就不用我讲了) int a[1000005]; long long n,ws; lo ......
题解 P4801 4801

CF1877 Div2 A-E 题解

A 显然 \(n\) 个队的得分之和为 \(0\),因此答案为这 \(n-1\) 个数的和的相反数。 赛时代码 B 小贪心。 将所有人按 \(b\) 升序排序,\(b\) 相同时按 \(a\) 降序,对每个人按 \(b\) 进行分类讨论: 若 \(b< p\),那么我们一定要选这个人,因为选了这个人 ......
题解 1877 Div2 A-E Div

AtCoder Regular Contest 166 AB题题解

A - Replace C or Swap AB 个人感觉挺有意思的一道思维题(好久没做思维题了,竟然卡了一个小时)。 除去C不看,我们发现X序列中的A只能向后移动,B只能向前移动,且可以移动任意次数。 所以假如没有C的话,做法是这样的: 从前往后分别统计X和Y序列中的A的数目,若某一时刻发现X中A ......
题解 AtCoder Regular Contest 166

Codeforces Round 902 (Div. 2) (CF1877) B、C、D 题解

B 题目大意 你要传话给 \(n\) 个人,每传一下话需要花费 \(p\) ,当一个人被传话后,他可以最多传给 \(a_i\) 个人,每次花费 \(b_i\) 。问把话传给 \(n\) 个人的最小花费。 分析 首先传给第一个人只少要 \(p\) 下来贪心,每次让花费最小、且能够传话的人去传话。 考虑 ......
题解 Codeforces Round 1877 902

题解 尼克的任务

有一种和题解区完全不同的做法。 首先将所有任务按照时间从小到大排序,接着用 \(f_i\) 表示处理前 \(i\) 个任务所能得到的最大空闲时间。 回顾一下需要满足的条件:再某个有任务的时刻,如果尼克是空闲的,就必须从中选择一个任务做。那么我们对于第 \(i\) 个任务,枚举上一个做的任务 \(j\ ......
题解 任务

P7710 [Ynoi2077] stdmxeypz 题解

P7710 [Ynoi2077] stdmxeypz 题解 我的第一道 Ynoi 题,体验感不高,调了大半天,最后发现有个地方 \(B_1\) 写成 \(B_2\) 了。 分析 树上问题,明显是要转到树下的,所以 DFS 序是一定要求的。 有关树上距离,所以 \(deep\) 数组也是一定要求的。 ......
题解 stdmxeypz P7710 7710 2077

「Round C10 B」间隔 题解

简要题意 本题有 \(T\) 组数据。 给定一个由 \(n\) 个元素构成的正整数数列 \(a_1,a_2,a_3...a_{n-1},a_n\)。 问至少需要插入多少个整数才能使得 \(a\) 的各相邻元素之差相等(不能插入在头尾)。 \(a\) 数列保证是单调不减的。 \(1 \le n \le ......
题解 Round C10 10

题解 ARC142E【Pairing Wizards】

problem 给定 \(n\) 个元素,每个元素有两个属性 \(a_i, b_i\)。 你可以花费 1 的代价使得其中一个元素的 \(a\) 属性 +1。 问最少多少代价,可以使得给定的 \(m\) 组 \((i,j)\) 关系符合: 要么满足 \(a_i >= b_i \land a_j >= ......
题解 Pairing Wizards 142E ARC

【题解】CodeForces-1874/1875

CodeForces-1875A Jellyfish and Undertale 一定是等待降到 \(1\) 或者能补满到 \(a\) 时才使用工具,依题意模拟即可。 提交记录:Submission - CodeForces CodeForces-1874A Jellyfish and Game 这 ......
题解 CodeForces 1874 1875

AtCoder Beginner Contest 323 (ABC 323) D、E、F 题解

AtCoder Beginner Contest 323 (ABC 323) D、E、F 题解 D 题目大意 给 \(n\) 种数 \(s_i\) ,每一种数有 \(c_i\) 个,每次可以把两个相同的数合并为一个数,问最后会剩下多少数? 分析 对于每一个数 \(s_i\) ,它最多被分解 \(lo ......
题解 323 Beginner AtCoder Contest

[RoarCTF 2019]Easy Calc

原理 PHP的字符串解析特性 利用scandir()列出目录和文件 使用chr()来替代字符 file_get_contents读取并输出文件内容 解题过程 进入靶场,看到一个表达式,要计算,那就简单1+1吧 没啥特别的,url地址也没变化,就看看页面源代码。看到说是用了waf,传递参数给calc. ......
RoarCTF 2019 Easy Calc

[极客大挑战 2019]PHP

原理 解题过程 查看原代码没啥提示,看到有备份网站 常见的备份文件后缀名: .git .svn .swp .~ .bak .bash_history 尝试是否存在index.php的备份。如index.php.bak,又或者www.zip等等,如果没找到就只能用目录扫描工具了 下载www.zip压缩 ......
2019 PHP

[极客大挑战 2019]BabySQL

原理 sql关键字绕过姿势之双写绕过 解题过程 BabySQL嘛,看到登录框,先试试or万能登录 发现sql语句报错了,把我or给吃了,可以看到这种过滤是直接把or关键字替换成了空字符串 那我们可以试试双写绕过 可以了,我们得到了账号密码,有啥用??我起初还想着将这密码解密呢- -,浪费时间,继续用 ......
BabySQL 2019

[极客大挑战 2019]Upload

原理 文件上传MIME和文件头的检测 php的多种后缀 木马连接 解题过程 进入靶场,应该就是上传漏洞然后连接木马即可。 先上传个正常文件名的文件然后抓包,我上传个正常jpg文件还冤枉我??先把文件内容删了。MIME信息和文件头信息换换 换成png还是不行,试试gif格式 终于可以了- -,现在给文 ......
Upload 2019

[极客大挑战 2019]Knife 1

原理 eval 解题过程 菜刀?我猜是要连接木马 进入靶场,提示了代码执行。可以用工具连接比如蚁剑,又或者自己手搓(锻炼一下啦) 传递参数还得看原代码,好麻烦,直接用抓包工具吧。只有index.php,直接到根目录找吧 发现了flag文件 读取flag大功告成 ......
Knife 2019

[极客大挑战 2019]Http 1

原理 来源页的修改 ip修改 浏览器修改 解题过程 一看题目涉及到抓包咯,进入靶场界面没啥东西,查看原代码 发现一个文件,拼在url地址后面 发现要修改来源页,那就抓包吧 补上来源 还要修改浏览器 还要本地访问- - 得到flag ......
2019 Http

题解:洛谷P1119 灾后重建

题解:洛谷P1119 灾后重建 题目传送门 前言:没有掌握floyed求最短路的精髓是每次增加选一个中转点,导致写了2h才勉强卡过 法1:最暴力的想法就是开个三维数组把前i个点的dis状态全部存下来,跑N次floyed,当然由于每次点数时递增的,所以实际复杂度远远小于O(N^4),算了下大概200个 ......
题解 P1119 1119

VS2019 创建Integration Service

最近工作中需要用到Integration service,使用VS2022如何都打不开,查阅文档发现vs2022目前不支持,所以需要下载VS2019,安装步骤如下 1、下载vs2019 2、在此窗口中,我们单击“扩展”>“管理扩展”: 3、在打开的窗口的搜索栏中,搜索“ Integration Se ......
Integration Service 2019 VS

题解 AcWing 1078 旅游规划

题目描述 给你一棵树,让你判断树上每个节点是否在树的直径上。 树的直径:树上最远的两个点之间的距离。 树的直径可能不止一条。 具体思路 对于树的直径,我们有三种求法。 树形dp 设 \(d_x\) 表示 \(x\) 往下走能够到达最远距离,\(f_x\) 表示经过 \(x\) 的最长链的长度。 那么 ......
旅游规划 题解 AcWing 1078

【题解】AtCoder-ABC323

AtCoder-ABC323A Weak Beats 依题意判断。 提交记录:Submission - AtCoder AtCoder-ABC323B Round-Robin Tournament 依题意排序。 提交记录:Submission - AtCoder AtCoder-ABC323C Wo ......
题解 AtCoder-ABC AtCoder ABC 323

[RoarCTF 2019]Easy Java

原理 java的WEB-INF泄露 文件下载 解题过程 进入靶场是一个登录界面,查看页面原代码 发现help按钮是访问/Download?filename=help.docx 但是访问又会报错 试试用post请求访问,发现文件下载下来了,内容为: 这里就不会了,看了wp才知道是java源码泄露问题 ......
RoarCTF 2019 Easy Java

题解 AGC015D【A or...or B Problem】

题解 AGC015D【A or...or B Problem】 problem 从 \(\ge A\) 且 \(\le B\) 的整数中选择一个或多个,把这些整数按位或,求一共有多少种可能的结果。 \(1\le A\le B \le 2^{60}\) solution 首先暴力怎么写呢?FWT。设序 ......
题解 Problem 015D or AGC

掲示板题解

[传送门](https://www.luogu.com.cn/problem/AT1409)题意分析 将第 $i$ 个数提到第一个并输出,也就是倒着扫并输出。倒数第一成为第一,倒数第二成为第二,以此类推,输出该数后标记,最后再枚举一遍,如果没有输出就将它们按正序输出。思路 定义一个 bool 数组, ......
题解

CF1844E Great Grids 题解

Description 定义一个矩形 \(a\) 是好的,当且仅当其满足以下条件: 矩形中每一个元素 \(x\) 都为 \(A,B,C\) 其中之一 每一个 \(2\times 2\) 的子矩形都必须包含三个不同的字符 共用一条边的两个元素不相等 给定 \(k\) 个限制条件,限制条件分为两类: \ ......
题解 1844E Great Grids 1844