
构造、模拟
构造、模拟
nirvana · rebirth
NIRVANA & REBIRTH
展开
-
n个数,入栈出栈,所有情况
int count = 0;void print(vector<int>& trace, vector<int>& push_order) { int i = 0; stack<int>stk; for (auto n : trace) { if (n == 1) { stk.push(push_order[i++]); } else { int num = stk.top(); stk.pop(); cout原创 2021-08-11 12:58:05 · 491 阅读 · 0 评论 -
哈尔滨理工大学软件与微电子学院程序设计竞赛——D.Array【二进制 & 思维】(详解!思路以及严谨推导)
题目传送门题解u:相加和,v:异或和u:相加和,v:异或和u:相加和,v:异或和在二进制运算中,对于某一位来讲:a∧b:表示a+b的本位a \wedge b:表示a+b的本位a∧b:表示a+b的本位a & b:表示a+b应该进的位a\ \&\ b:表示a+b应该进的位a & b:表示a+b应该进的位那么 a & b<<1:表示进位之后a\ \&\ b <<1:表示进原创 2020-06-16 00:48:47 · 417 阅读 · 0 评论 -
哈尔滨理工大学软件与微电子学院程序设计竞赛——G.XOR【思维】
题目传送门题解对于 NNN 的二进制表示 bbb那么最佳答案就是 len(b)len(b)len(b) 位的1比如n的二进制位101010100101010100101010100那肯定是拿100000000100000000100000000和111111111111111111111异或最后全部为111就是结果AC-Code#include <bits/stdc++.h>using namespace std;typedef unsigned long原创 2020-06-14 17:20:08 · 338 阅读 · 0 评论 -
哈尔滨理工大学软件与微电子学院程序设计竞赛——A.Race【模拟】(题面坑啊)
题目传送门题解题目有点坑啊,后来补上 只算整数时间点的条件 了。恕我直言,打死我也想不出来竟然不考虑小数时间点。Q_Q那么这数据范围,一秒一循环模拟就过了水题AC-Code#include <bits/stdc++.h>using namespace std;int main() { int v1, v2, t, s, l; while (cin >> v1 >> v2 >> t >> s >> l)原创 2020-06-14 17:10:46 · 464 阅读 · 1 评论 -
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛——I.字典序【双向指向 & 优化技巧】
题目传送门题解遍历数组,根据相邻两个数的大小关系确定相邻的字典序大小。设当前待判断位置 iii,那么 [0,i−1][0, i-1][0,i−1] 的字典序关系已经确定。设 next[i]next[i]next[i] 表示 按照字典序大小顺序的下一个元素index。pre[i]pre[i]pre[i] 表示 按照字典序大小关系,上一个不等于 arr[i]arr[i]arr[i] 的元素index。这里跳过了相同的元素是很必要的,之后就会发现。情况一: arr[i]==arr[i−1]ar原创 2020-06-02 13:33:04 · 367 阅读 · 0 评论 -
LeetCode——6. Z 字形变换【规律 & 模拟】
AC-Code方法一class Solution {public: string convert(string s, int numRows) { if (numRows == 1) return s; vector<string> rows(min(numRows, int(s.size()))); i...原创 2020-04-03 21:00:17 · 320 阅读 · 0 评论 -
多校训练第1轮.E——Everybody deserves a long long name【恶心人的模拟】
题目描述In the Kingdom of Bears, the King Tommmmmmmmmmmmmmmmy has a very strange hobby: he dislike all names with length less than 1010! In fact every time he see who has a short name, he’d be so angry t...原创 2020-03-02 12:55:24 · 486 阅读 · 0 评论 -
2020牛客寒假算法基础集训营5.C——C语言IDE【超级大模拟】
题目传送门题目描述牛牛战队有一门课程叫做软件工程综合实践,这门课要求大家写一个简单的C语言的IDE。牛牛战队已经十分熟悉gcc的相关命令,也知道gdb的调试命令,再借助QT自带的代码亮壳文字框,就很快的把主要功能完成了。现在他们想多做一些创新功能,来获得更高的分数。他们想到,在很多编译器中,都有查看现在所有函数的功能,如下图所示:在这个框的左侧,列出了所有的函数和参数列表。现在牛牛战队...原创 2020-02-14 17:19:07 · 363 阅读 · 0 评论 -
2020牛客寒假算法基础集训营5.H——Hash【思维 & 哈希 & 进制】
题目传送门题目描述这里有一个hash函数const int LEN = 6;int mod;int Hash(char str[]){ int res = 0; for (int i = 0; i < LEN; i++) { res = (res * 26 + str[i] - 'a') % mod; } return ...原创 2020-02-13 20:05:53 · 424 阅读 · 0 评论 -
2020牛客寒假算法基础集训营4.E——最小表达式【贪心 & 构造】
题目传送门题目描述给出一个包含数字1-9和加号的字符串,请你将字符串中的字符任意排列,但每种字符数目不变,使得结果是一个合法的表达式,而且表达式的值最小。输出那个最小表达式的值合法的表达式的定义如下:一个数字,如233,是一个合法的表达式A + B是合法的表达式,当且仅当 A , B 都是合法的表达式保证给出的表达式经过重排,存在一个合法的解。输入描述:一行输入一个...原创 2020-02-11 21:16:54 · 382 阅读 · 0 评论 -
2020牛客寒假算法基础集训营4.A——欧几里得【规律】
题目传送门题目描述欧几里得算法是一种求最大公约数的有效算法,在算法竞赛中很常用。这个算法的 Python 实现如下:def gcd(a,b): if b == 0: return a return gcd(b,a%b)现在,如果已知 gcd(a,b) 共递归了 n次,求所有可能的a,b中满足a>b>=0且a+b最小的一组的a与b之和。输...原创 2020-02-11 20:10:20 · 475 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3——B.牛牛的DRB迷宫II【构造 & 二进制】
题目传送门题目描述牛牛有一个n*m的迷宫,对于迷宫中的每个格子都为’R’,‘D’,'B’三种类型之一,'R’表示处于当前的格子时只能往右边走’D’表示处于当前的格子时只能往下边走,而’B’表示向右向下均可以走。我们认为迷宫最左上角的坐标为(1,1),迷宫右下角的坐标为(n,m),除了每个格子有向右移动以及向下移动的限制之外,你也不能够走出迷宫的边界。牛牛现在请你设计迷宫,但是要求你设计的...原创 2020-02-09 15:12:56 · 1818 阅读 · 2 评论 -
2020牛客寒假算法基础集训营3——D.牛牛与二叉树的数组存储【模拟】
题目传送门题目描述树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序时,可用树表示源源程序的语法结构。又如在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述。满二...原创 2020-02-09 14:57:33 · 526 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3——H.牛牛的k合因子数【欧拉筛】
题目传送门题目描述合数是指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。牛牛最近在研究 “k合因子数”“k合因子数”“k合因子数” ,所谓 “k合数”“k合数”“k合数” 是指一个数的所有因子中,是合数的因子共有k个。例如 202020 的因子有 1,2,4,5,10,201,2,4,5,10,201,2,4,5,10,20,其中 4,10,204,10,204,10,...原创 2020-02-08 22:49:13 · 420 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3——C.牛牛的数组越位【模拟】
题目传送门题目描述牛牛写了这样一个C/C++程序:#include<bits/stdc++.h>using namespace std;int main(){int a[5][5];a[-1][8]=12345;printf("%d %d",a[1][-2],a[0][3]);return 0;}他发现程序可以正常运行,并且输出为:12345 1234...原创 2020-02-08 22:15:26 · 427 阅读 · 2 评论 -
2020牛客寒假算法基础集训营2——E.做计数【推公式】
题目传送门题目描述这一天,牛牛与 牛魔王相遇了――然而这并不在 牛牛期望之中。牛魔王不出意料又给 牛牛一道看似很难的题目:求有多少个不同的正整数三元组 (i,j,k)\text{}(i,j,k)(i,j,k) 满足 i+j=k\sqrt i+\sqrt j=\sqrt ki+j=k ,且 i×j≤ni\times j\leq ni×j≤n。牛牛并不会做,你能略施援手吗?当两个三元...原创 2020-02-06 21:18:06 · 365 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1——A.honoka和格点三角形【计数】
传送门题目描述honoka最近在研究三角形计数问题。她认为,满足以下三个条件的三角形是“好三角形”。三角形的三个顶点均为格点,即横坐标和纵坐标均为整数。三角形的面积为 。三角形至少有一条边和 轴或 轴平行。honoka想知道,在平面中选取一个大小为 的矩形格点阵,可以找到多少个不同的“好三角形”?由于答案可能过大,请对 取模。输入描述:两个正整数和(2 ≤n,...原创 2020-02-04 20:17:12 · 1207 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1——G.eli和字符串【字符串 & 计数】
题目传送门题目描述eli拿到了一个仅由小写字母组成的字符串。她想截取一段连续子串,这个子串包含至少 kkk 个相同的某个字母。她想知道,子串的长度最小值是多少?注:所谓连续子串,指字符串删除头部和尾部的部分字符(也可以不删除)剩下的字符串。例如:对于字符串“arcaea”\mathit{“arcaea”}“arcaea”,“arc”“arc”“arc”、“rcae”“rcae”“rca...原创 2020-02-04 20:41:58 · 620 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1——E.rin和快速迭代【数论 & 模拟】
题目传送门题目描述”数论真的太好玩了喵~“——hoshizora rinrin最近喜欢上了数论。然而数论实在太复杂了,她只能研究一些简单的问题。这天,她在研究正整数因子个数的时候,想到了一个“快速迭代”算法。设 f(x)f(x)f(x) 为 xxx 的因子个数,将 fff 迭代下去,rin猜想任意正整数最终都会变成 222 。例如: 。她希望你帮她验证一下。她会给你一个正整数 n...原创 2020-02-04 20:34:02 · 422 阅读 · 0 评论 -
Problem L. Omar’s Bug【分类讨论】
题意有一个错误的二分查找代码,题目输入三个数:n,x,yn,x,yn,x,y ,分别是:数组长度,查找元素,判断值。如果 y=1y=1y=1,则输出能够使此二分查找正确的数组如果 y=2y=2y=2,则输出使其出错的数组要求输出满足条件、且字典序最小的数组题解题目不难,稍加分析即可发现,此二分查找算法中,区间形式为:左闭右开。对于相等元素,直接越过了。所以只要数组中有和...原创 2020-02-03 09:59:51 · 301 阅读 · 0 评论 -
Problem G. The Stones Game【取石子博弈 & 思维】
题意有n个石头,m个人,问第k个人有没有必胜的状态。m个人轮流取石子,一轮没取完第一个人接着取,直到石子没有了。每个人取石子有2个操作。可以选择取一个石子或者不取(0 or 1);如果前一个人(当然第一个人除外,因为他没有前人,嘻嘻。。)的第一次操作取了石子,那么当前这个人这次不能取,反之必须取。也就是说,如果前一个人没有取一个石子,那么当前这个人这次必须取1个石子+你第一次...原创 2020-02-02 18:14:39 · 777 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day6 Div.1&2——G.单调栈【思维、贪心思想】
题目传送门题目描述对于一个 1...n{1...n}1...n 的排列 p[1...n]{p[1...n]}p[1...n],我们这样定义它的单调栈 f[1...n]{f[1...n]}f[1...n]:对于 i{i}i,若 p[1...i−1]{p[1...i-1]}p[1...i−1] 中比 p[i]{p[i]}p[i] 小的数里最大的是 p[j]{p[j]}p[j],则 f[i]=f...原创 2020-02-02 12:47:03 · 321 阅读 · 0 评论 -
2020 CCPC-Wannafly Winter Camp Day6 Div.1&2——C.酒馆战棋【模拟】
题目传送门题目描述酒馆战棋是一个很有趣的游戏,这个游戏一共有两名玩家,每个玩家各自控制一定数量的随从,随从从左往右排列。随从有两个基础属性:攻击力的血量,两个随从交战后会受到对方攻击力的伤害(失去对应的血量),当一个随从的血量降到 0{0}0 或者以下时会死亡。整个对战流程如下:你的随从从左往右依次进行攻击,每次攻击是随机选择一个可以攻击的对方随从进行攻击。而对方的随从全程不动。由于对...原创 2020-02-02 11:24:26 · 431 阅读 · 0 评论 -
CF 1295——B.Infinite Prefixes【字符串构造、模拟、思维】
题目传送门You are given string s of length n consisting of 0-s and 1-s. You build an infinite string t as a concatenation of an infinite number of strings s, or t=ssss… For example, if s=10010s= 10010s=1...原创 2020-01-30 20:21:35 · 669 阅读 · 0 评论 -
2020 CCPC-Wannafly Winter Camp Day3 Div.1&2——E 棋技哥【二维后缀数组、构造】
题目传送门题目描述火山哥和鸡老八在下棋。这张棋盘是 n×mn\times mn×m 的。每一个格子要么是黑色的,要么是白色的。两个人轮流进行操作。火山哥先手。每一次可以选择一个黑色的格子,以这个格子为右下角,棋盘左上角为左上角,将这个矩阵的所有格子的颜色由黑变成白,由白变成黑。如果找不到一个黑色的格子,那么那个人就输了。现在两个人都想让火山哥赢,请问谁能赢呢。输入描述:第一行一个...原创 2020-01-22 20:16:46 · 313 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day2 Div.1&2——A 托米的字符串【构造、数学】
题目传送门题目描述托米有一个字符串,他经常拿出来玩。这天在英语课上,他学习了元音字母 a,e,i,o,u{a,e,i,o,u}a,e,i,o,u 以及半元音 y{y}y 。“这些字母是非常重要的!”,托米这样想着,“那么我如果随机取一个子串,里面元音占比期望会有多大呢?”于是,请你求出对于托米的字符串,随机取一个子串,元音 (a,e,i,o,u,y)(a,e,i,o,u,y)(a,e,i,...原创 2020-01-22 00:23:25 · 504 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day1 Div.1&2——密码学【构造 & 模拟】
题目传送门题目描述考虑一种加密方式,它需要一个任意长度的原文 {m}m 和秘钥 {key}key,其中要求原文和秘钥只包含大写和小写的英文字符。首先定义字符之间的加密,用字符 aaa 去加密字符 bbb 的结果是:首先把 aaa 和 bbb 转成数字 xxx 和 yyy。转换的规则是,小写字母 aaa 到 zzz 依次对应 000 到 252525,大写字母依次对应 262626 到 ...原创 2020-01-21 00:26:12 · 544 阅读 · 0 评论 -
HRBUST 2462——DQS And Guido Mista【贪心 & 模拟】
题目传送门DescriptionDQS watches JoJo’s Bizarre Adventure: Golden Wind a lot, and her favorite character is Guido Mista.One day, Mista had a dream. In his dream, he has a revolver (a kind of pistol) wi...原创 2019-12-15 18:18:58 · 374 阅读 · 0 评论