自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Charles Liu

a1399677960@foxmail.com

  • 博客(32)
  • 收藏
  • 关注

原创 Windows打包.tar.gz工具V0.1发布

之前打包一直用7zip,感觉比较麻烦,就写了个工具用的是windowsform+shell+7zip的方式。目前支持单个文件或者文件夹进行打包下载地址:https://github.com/ZA139/FilesConvertToTarGzipWithWindowsForm(BTW:windows1089之后可以在powershell用命令行打包...

2021-07-02 15:39:20 254

原创 洛谷P2370 yyy2015c01 的 U 盘 二分答案+背包

洛谷P2370 yyy2015c01 的 U 盘 二分答案+背包很简单但是很有意思的一道题题意:n个文件,最小价值p,硬盘大小为s设端口大小为每次传输文件大小的上限求最少需要多大的端口可以传过去价值总和大于等于p的文件如果没有则输出No Solution!思路:因为端口大小具有单调性,所以可以二分对端口大小进行二分,check函数中进行01背包,判断能否装下价值总和大于等于p的文件即可如果大小等于右端点也装不下,则无解代码:#include<cstdio>#includ

2020-12-25 16:30:50 254

原创 2020ICPC上海站 B Mine Sweeper

题意:给定两个扫雷n*m的矩阵A和B在进行最多floor(n∗m/2)floor(n*m/2)floor(n∗m/2)次取反操作之后,把B中的所有非地雷格子的数字的和等于A中的值(非地雷格子中的数字表示在以自己为中心的3x3的格子中有多少个地雷)求出任意符合题意的翻转方案思路看到floor(n∗m/2)floor(n*m/2)floor(n∗m/2)次操作,想到取反易证得,一个矩阵翻转后数字和不变翻转后总有一个操作不超过floor(n∗m/2)floor(n*m/2)floor(n∗m/2)

2020-12-20 22:42:51 196

原创 C++ 自顶向下看引用实现和内存对齐

值传递(pass by value):​ 在内存(程序堆栈)中开辟新的空间,将原值复制到新的空间中传址(pass by reference):​ 不在内存中开辟新的空间,作为原变量的别名,不独立,依附于原变量,对其的改变会直接修改原变量,引用不可修改,只可在初始化时指定指针传递(pass by pointer):​ 在内存(程序堆栈)中开辟新的空间,新开辟的空间的值为原变量的地址,则指向原变量,对其进行提领(reference)操作之后的修改会影响原变量。指针的引用传递(传址):​ 由于指针实

2020-12-10 10:52:40 163

原创 Running Median 对顶堆

Running Median 对顶堆题意:给定一个数列,每次已经输入了奇数个数字的话,输出此时的中位数思路:对顶堆板子题想象两个堆为一个三角形和一个倒三角形,组成的沙漏形状,即为对顶堆,两个堆相接之处则为答案维护一个大根堆一个小根堆,保持这两个堆均分数组数据。询问时输出对顶即可代码:注意输出格式#include<iostream>#include<algorithm>#include<queue>#include<vector>usi

2020-12-08 17:16:44 273

原创 七夕祭 (前缀和,排序)

七夕祭 (前缀和,排序)题意是中文的就不重复了。。思路:列之间的交换并不会影响行的结果,相似的,行之间的交换并不会影响列的结果首先我们进行可行性判断即t个点可以被n行或者m列所均分可以抽象为将t个点均分给n或m个人(类似题目[均分纸牌][https://ac.nowcoder.com/acm/problem/16739])以下以分给n个人为例第i个人需要的纸牌数目为A[i]=row[i]−(t/n)A[i]=row[i]-(t/n)A[i]=row[i]−(t/n),为正则为需要纸牌,从i+

2020-12-08 15:51:50 325

原创 Codeforces DIV2 670C Cinema(离散化)

Codeforces DIV2 670C Cinema(离散化)题意:有n个科学家,每个科学家会一个语言。有m个电影,每个电影有一个音频语言和一个字幕的语言输出最多人能听懂的电影的索引,如果有多个电影有相同的人数能听懂,则输出在此条件下最多人能看懂的一个,如果还有多个电影符合,输出任意思路:​ 可以直接用map写​ 这里用离散化。数据范围2e5个科学家,且每个人只会一种语言。但是数据大小为1e9,所以我们可以离散化到一个计数数组中,然后再根据题意对其排序,如果lower_bound返回的下标等

2020-12-08 12:37:26 88

原创 牛客题霸NC532神奇的数字

牛客题霸NC532神奇的数字思路​ 用一个vector保存是偶数的数字,然后扫一遍替换原字符串偶数即可代码class Solution {public: /** * * @param number string字符串 * @return string字符串 */ vector<char> v; string change(string number) { // write code here

2020-11-03 18:27:30 159

原创 算法竞赛进阶指南0x01位运算题解

算法竞赛进阶指南0x01位运算题解a^b背景知识:1.快速幂​ 已知任意数字均可由二进制表示,即为,给定一个十进制整数b,若其在二进制表示下有k位,则其可以被表示为b=∑i=0k−1ci2ib=\sum_{i=0}^{k-1}c_i2^{i}b=∑i=0k−1​ci​2i其中cic_ici​为b在二进制表示下的第i位​ 根据幂次运算的运算律,同底数幂相乘,底数不变,指数相加,即basea+b=basea∗basebbase^{a+b}=base^a*base^bbasea+b=basea∗base

2020-10-28 19:55:01 223

原创 POJ 2018 Best Cow Fences 二分答案,前缀和

POJ 2018 Best Cow Fences 二分答案,前缀和题意给定长度为n的序列,求长度为[m,n]的子序列的最大平均值思路简单分析发现本题答案存在单调性,可以采用二分答案的思路序列中每个值对于平均值的贡献度为$ {cows[i]-avg} $可以到当本序列的∑beginlencows[i]−avg=0\sum_{begin}^{len} cows[i]-avg =0∑beginlen​cows[i]−avg=0时,本平均值avg成立子序列的长度可以为[m,n-m]的任意数字我们进

2020-10-23 20:17:13 262

原创 起床困难综合症

起床困难综合症题意给你N个门,每个门的操作为AND,XOR,OR中的一种,每个门有一个操作数,现在让一个[0,m]的数字x依次通过这n扇门,问最大的结果是多少思路位运算没有进位,所以可以每一位单独运算所以我们让在[0,m]范围的每一位去通过这n道门,查看结果即可因为x有[0,m]范围的限制,所以我们要尽可能的让x最小即对于x的第i位当且仅当x的第i位为0时通过n道门得到的结果不为1且x的第i位为1时通过n道门得到的结果为1时x的第i位才为1,否则都是0最后获得x跑一边n道门就是答案啦

2020-10-23 20:16:42 416

原创 TOYS-POJ2318 简单几何,叉乘

TOYS-POJ2318 简单几何,叉乘题意把一个盒子用m个隔板隔开,给定n个点的坐标,问每一个区域中各有多少个点思路利用向量叉乘判断点在线的哪一边,当叉乘小于等于0时,点在线的左边,否则在右边题目中You may assume that the cardboard partitions do not intersect each other and that they are specified in sorted order from left to right.表示了输入的隔板是排好

2020-09-27 16:14:36 93

原创 [Codeforces Round #640 (Div. 4)]A,B,C,D,E,F,G题解

[Codeforces Round #640 (Div. 4)]题解第一次出现div4去凑凑热闹玩玩,下面是题解。A-Sum of Round Numbers题意:给定n,判断n由几个Round Number(除了数字第一位其他都是0的数字)构成,输出个数和这几个Round Numbers思路:从后往前一位一位拆就ok了~~(当然你想从前往后也可以)~~代码:#include<cstdio>#include<cmath>#include<cstring>

2020-05-13 10:31:49 329

原创 随便聊聊和立立flag

随便聊聊和立立flag​ 因为某种ex的原因,搞得我其实最近精神状态一直不太好,不过还好有这样的一个缓冲期,隔离在家两个月,摸鱼了两个月,也算是疗伤吧,真的绝了。长见识了,现在差不多也该恢复过来了,就对今年立几个flag吧。。。希望以后别遇见这B事了,太累了。。。。1.整理这周讲的字符串匹配​ 因为我自己也不是字符串选手,平时写的也不是很多,这次给学弟学妹讲课算是一个双方受益的过程吧。整理一...

2020-03-15 12:23:55 160

转载 字符串Hash

字符串Hash字符串Hash可以通俗的理解为,把一个字符串转换为一个整数。最后构造成理想状态下的一个整数→字符串的单射。所以问题就是如何构造Hash函数,使他成为一个单射。有几种方法,分别是自然溢出方法,单Hash方法和双Hash方法。我们规定index(x)=x−′a′+1index(x)=x-'a'+1index(x)=x−′a′+1说白了就是x是第几个字母基本Hash公式为...

2020-03-15 12:23:02 257

原创 Codeforces 1062B Math题解

Codeforces 1062B Fun with Integers题解题解:分解质因数n=p1a1p2a2...pkak,发现求p1p2...pk即可n=p_1^{a_1}p_2^{a_2}...p_k^{a^k},发现求p_1p_2...p_k即可n=p1a1​​p2a2​​...pkak​,发现求p1​p2​...pk​即可找到a的最大值,求比他小的2^x,求出p12xp22x...

2020-02-05 14:14:26 184

原创 Codeforces 1062D Fun with Integers题解

Codeforces 1062D Fun with Integers题解题意:给定n,从2到n这个区间找任意两个数,使得一个数是另一个的因子,绝对值小的可以变为绝对值大的求变化过程所乘的倍数绝对值之和思路:直接在范围内找出倍数并保存倍数注意因为会出现重复的情况,所以直接乘2就好不用乘4#include<cstdio>#include<cstring>#in...

2020-02-05 14:08:30 173

原创 Codeforces 1062C Banh-mi题解

Codeforces 1062C Banh-mi题解思路:每次吃xi最大的食物每次吃x_i最大的食物每次吃xi​最大的食物假设初始区间内有a个1,b个0,那么先吃完所有初始美味为1的食物,得到喜悦程度为2a−1假设初始区间内有a个1,b个 0,那么先吃完所有初始美味为1的食物,得到喜悦程度为2^a-1假设初始区间内有a个1,b个0,那么先吃完所有初始美味为1的食物,得到喜悦程度为2a...

2020-02-05 14:00:50 327

原创 牛客小白月赛21 A,C,G,I解题记

牛客小白月赛21 A,C,G,I解题记A------Audio思路:给你三个点求一个过这三点的圆的圆心的坐标,取两对点求每对点的中垂线方程,求其交点即可。代码:十分简单粗暴利用两点式和斜截式即可。l1,l2分别是第一条,第二条中垂线的斜率,b1,b2分别对应两个中垂线方程斜截式中的b#include<cstdio>int main(void){ double x[3],...

2020-01-19 19:47:59 218

原创 NUC ACM2019级寒假快乐场2020-01-13题解

A - 快乐打雪仗 CodeForces - 1287A思路:暴力搜索,每个愤怒的学生身前连续个不愤怒的学生人数的最大值即可#include<cstdio>#include<iostream>#include<string>#include<algorithm>using namespace std;int main(void) { ...

2020-01-15 23:12:28 174

原创 The Luckiest number POJ3696 费马小定理

思路x个8连在一起可以写成8*(10x-1)9,假设d=gcd(L,8)。那么题目可以表达为:L | 8(10x-1)9接下来我们做一些简单的式子变形:L | 8(10x-1)/9 ←→ L9 | 8(10x-1) ←→ 9L/d | (10x-1) ←→ 10x ≡ 1 (mod 9L/d)引理:对于任意互质的正整数a,n,满足:ax≡1(mod n)最小的整数值 X0 是φ(n...

2020-01-05 08:57:53 100

原创 Leetcode202快乐数【flyod判圈法】

浅谈弗洛伊德判圈法如果一个有限状态机,迭代函数或者链表上存在环,那么在某个环上以不同速度跑路的两个指针必定会相遇。对于本题判断相遇点是否为1即可。#include<cstdio>using namespace std;class Solution {public:int fun(int n) { int sum = 0; while (n) { int te...

2019-12-29 00:55:44 139 1

原创 POJ1061青蛙的约会【拓展欧几里得】

题面两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的...

2019-12-29 00:31:51 90

原创 【0/1分数规划+01背包】Talent Show HYSBZ - 5281 达牛秀

1

2019-12-28 23:59:39 129

原创 牛客挑战赛35 D binary

思路这是一道思维。

2019-12-28 21:06:57 111

原创 牛客网2018年东北农业大学春季校赛 I---wyh的物品 0/1分数规划

链接:https://ac.nowcoder.com/acm/contest/93/I?&headNav=www来源:牛客网时间限制:C/C++ 5秒,其他语言10秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述wyh学长现在手里有n个物品,这n个物品的重量和价值都告诉你,然后现在让你从中选取k个,问你在所有可能选...

2019-12-22 11:44:41 153

原创 【poj2976 Dropping tests】0/1分数规划裸题

01分数规划的裸题,式子可以变形为∑(ai−x∗bi)\sum(a_i-x*b_i)∑(ai​−x∗bi​)之后对x进行二分即可#include<cstdio>#include<climits>#include<iostream>#include<algorithm>using namespace std;const long doub...

2019-12-21 21:31:42 83

原创 Codeforces Round #594 (Div. 1)1239A 【Ivan the Fool and the Probability Theory】题解

Codeforces Round #594 (Div. 1)1239A 【Ivan the Fool and the Probability Theory】题解Recently Ivan the Fool decided to become smarter and study the probability theory. He thinks that he understands the su...

2019-10-22 17:59:55 502 2

原创 洛谷P1914题解——(本地测试AC但是交题爆零全WA)使用getchar();

本题最大的坑在于:windows环境下的换行符为\r\n,linux环境的换行符为\n.我们再来看看洛谷的部分OJ判题机数据和机制常见“我在本地/xxOJ AC了、洛谷却不过”的原因Linux中换行符是’\n’而Windows中是’\r\n’(多一个字符),有些数据在Windows中生成,而在洛谷评测机Linux环境下评测。这种情况在字符串输入中非常常见。来源帮助-洛谷所以我们要用...

2019-06-23 19:25:16 3837

原创 2016CCPC Finals[HDU-5999]The Third Cup is Free题解

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5999The Third Cup is freePanda and his friends were hiking in the forest. They came across a coffee bar inside a giant tree trunk.Panda decided to tre...

2019-06-08 17:03:26 210

原创 数据结构(C语言版)严蔚敏 吴伟民版----抽象数据类型之三元组的实现

暂时摆脱了ACM严格的输出要求束缚,现在终于也可以瞎搞了。现在随着课堂实验写一写抽象数据类型了,话不多说上代码。ps:因为输入输出可以自己瞎鸡儿搞,所以用了很多输出语句显得代码很冗长,但是实际上上全部都是c的基础,请读者耐心观看。#include<stdio.h>#include<stdlib.h>#define ERROR 0#define OK 1...

2019-03-30 21:34:18 860

原创 刘汝佳算法竞赛入门经典(第二版)Digit Counting(Uva1225)--- sprintf()实现

原题:UvaOJ:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=830&amp;amp;page=show_problem&amp;amp;problem=3666VJ:https://vjudge.net/problem/UVA-1225整体思路为将1-N每一次都用sprin...

2019-03-09 20:33:09 186

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除