差点又双叒叕模拟退役 上来先\(\% T2\), 然后感觉就差一点, 最后搞出来就十点多了.. 然后心态一度爆炸,有点小摆烂,上厕所冷静一下觉得还有时间,能抢救一下 然后开了 \(T1\), 没啥思路瞎搞,开根号在附近找数用 \(pow\),发现大数据丢精异常严重 $pow(n, 1.0 / 1) $比 \(n\)大了好几百你敢信
Index × A(Not Continuous ver.) (背包问题) 题目大意同Index × A,只是这里的取值可以任意了,但是要有顺序,说白了题目就是要你在一堆数中选出M个数,让这M个数的乘权重后的和最大 AC代码 #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #define ll
CSP-S 模拟1 洛谷上原题,不挂题面了。 A.斐波那契 P3938 斐波那契 观察上图,可发现规律:一个数的父亲等于这个数减去最大的小于它的斐波那契数。特殊的,如果这个数是斐波那契数,设这个数为 \(x\),\(x = fib(i)\),那它的父亲为 \(fib(i - 2)\)。 数据最大到 \(1e12\),打表发现,\(fib(60) >
棋局评估(MINMAX搜索+α-β剪枝) 这是一个博弈的问题,在这里,你的对手希望他得高分,你希望你得高分,可是你分数高了他的分就低了。下棋的时候,你希望走出最好的局面,即使输也要分数最高,而你的对手恰恰相反,他要走出他的最好局面,也就是你的最坏局面,让你分数最低。这样交替行棋,也就完成了对
阻塞调用 # include<iostream> # include<boost/asio.hpp> # include<boost/date_time/posix_time/posix_time.hpp> using namespace std; int main() { cout << "One" << endl; boost::asio::io_service io; boos
扫描线的一些经典应用:求n个矩形的面积并和周长并。 面积并(P5490 【模板】扫描线) 首先扫描线的思想就是假设有一条无限长度的线从一个方向到另一个方向扫一遍整个图形,这样这个图形就变成了一大堆小矩形,然后算每个矩形的面积。这个过程可以上棵线段树。 怎么搞?首先我们随便找一维(
Madoka and The Corruption Scheme 组合数 + 思维 + 贪心 首先要思考一开始要如何摆放才是最优秀的 按照完全二叉树(根就是最后赢的那个),给所有的点赋予权值,代表需要转换多少条边,才能使得这个点的数字被选上 显然假设当前点的权值为 \(x\),该点的其中一个节点权值必然为 \(x\)(获胜),另
C语言教程 C语言教程开端 详见: 菜鸟教程 简单介绍:走个过场 C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。 C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 23930 通过数: 15560 【题目描述】 给定10个整数的序列,要求对其重新排序。排序要求: 1.奇数在前,偶数在后; 2.奇数按从大到小排序; 3.偶数按从小到大排序。 【输入】 输入一行,包含10个整数,彼此以一个空格分开
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 30535 通过数: 18658 【题目描述】 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 41023 通过数: 9681 【题目描述】 给定一个序列a1,a2,…,ana1,a2,…,an,如果存在i<ji<j并且ai>ajai>aj,那么我们称之为逆序对,求逆序对的数目。 【输入】 第一行为nn,表示序列长度,接下来的nn行,第i+1i+1行表示
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 35546 通过数: 20249 【题目描述】 求两个大的正整数相减的差。 【输入】 共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。 【输出】 一行,即所求的差。 【输入样
传送门 思路 考虑使用莫队 当加入一个数时,如果不是第一次加入,就不用管它; 否则,我们在权值线段树上记录它的贡献 为了方便修改,线段树上需要记录的是:它的排名减一的斐波那契数与它的乘积,以及它的排名的斐波那契数与它的乘积,记为 \(pre,sum\) 假如我们加入一个数 \(x\),那我们需要统计
以下内容为本人的著作,如需要转载,请声明原文链接 微信公众号「englyf」https://www.cnblogs.com/englyf/p/16651865.html 曾经常去沙县小吃,就为了蹭上一碗4块钱的葱油拌面,听着边上的几位小哥老说 华仔,有软硬之分。 其实写代码也有这种讲究。 在linux系统中定时器有分为软定时和
先sort排序,在输出最小的k个数。 #include<iostream> #include<bits/stdc++.h> #include<cstdio> using namespace std; int n, k; int arr[10005]; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < n; i++){ scan
先sort进行排序,然后输出第k大的元素即可 #include<iostream> #include<bits/stdc++.h> #include<cstdio> using namespace std; int n, k; int arr[10005]; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < n; i++){
Madoka and Formal Statement 思维 如果合法,说明 \(a_i \le b_i\),因此也可以认为 \(b_i\) 就是 \(a_i\) 最后能变成的最大值 根据题意操作,只有 \(a_i \le a_{i+1}\) 的情况,才能使 \(a_i + 1\),因此 \(a_i\) 的理论最大值应该是 \(b_{i+1} + 1\) 因此只要所有的 \(b_i\) 都不大于 \(
Madoka and Strange Thoughts 唯一分解定理 \[gcd(a, b) = p_1^{min(ak_1, bk_1)} * p_2^{min(ak_2, bk_2)}... \]\[lcm(a, b) = p_1^{max(ak_1, bk_1)} * p_2^{max(ak_2, bk_2)}... \]根据上面两个式子就可以知道 \(\frac{lcm(a,b)}{gcd(a,b)}\) 其实就是质因数最大最小次幂相差
Madoka and Underground Competitions 构造 在一行里,如果选定了其中一个位置是 \(X\),接下来就直接往左和往右每 \(k\) 个放置一个 \(X\) 就行了 每一行的初始位置根据一开始的那个 \(X\),斜着一个方向铺满,即可做到每一行都存在一个 \(X\) . X . . . . . X . . . . . X .
x64dbg 是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时 x64dbg 还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64dbg是如何配置开发环境以及如何开发插件的。 默认情况下当你下载好x64dbg时,在pluginsdk目录
本质是视频文件二进制值后追加特殊符号(如换行符、制表符)的二进制值 import hashlib import os def getFilesByDir(target_path, include_str=None, filter_strs=None): """ 获取指定目录下所有的文件(不包含以__开头和结尾的文件)或指定格式的文件,若不同目录存在相同文件
https://www.acwing.com/problem/content/168/ #include <algorithm> #include <iostream> using namespace std; const int N = 9; // 0- 511 // ones[i] 表示i这个数字的二进制表示中, 有多少个1 // map快速求出log_2[x], 例如: map[8] = 3; int ones[1 << N], map[1 <<
Maximum AND 贪心 从高位开始,尽可能地让 \(a\) 中该位为 \(0\) 的 和 \(b\) 中该位为 \(1\) 的配对在一起,换句话说,可以让 \(a\) 由小到大排序,\(b\) 由大到小排序 如果当前位最终是 \(1\),则继续该过程 如果当前位最终是 \(0\),则说明失配,考虑将这一位全部置为 \(1\) (排除这一位
#include<stdio.h> main() { printf(" *\n ***\n *****\n *******\n*********\n"); }
以下实例使用C++正则从一串混乱的字符串中匹配带小数点的数字 点击查看代码 #include <iostream> #include <regex> using namespace std; int main() { smatch results; string str = "adbhjasdhaj1231.123QWEE QWEQWWQEDXQ 12346.4156"; string pat("\\d+\\.\