OJ
文章平均质量分 81
OJ
陆氪和他的那些代码
学习可以偷懒,面试好好发挥就行
展开
-
CSDN 竞赛第四期 - 解题心得
对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成, 你需要将这些部分逆序。Ps:题目一开始没读懂,两种理解,后来问了下一共有多少种方案的理解时,发现毫无思路,不过有个小技巧,过了 30% 哈哈哈~Ps:这题刚开始一看,以为数学规律题,找到了一些规律,过了 50% 案例,后来想到一个反例,发现那估计只能 DP。给定一个原字符串A,请返回逆序后的字符串。1. 数列中相邻的数越是靠内相对大小加一,a[2]=a[1]+1,a[n-2]=a[n-1]+1。...原创 2022-08-29 18:39:36 · 319 阅读 · 0 评论 -
CSDN(成长一夏竞赛)- 最大数
给定任意一个数字 m,然后给出数字 n,则需在 m 中去掉 n 位数,保持各位顺序不变的情况下,得到最大数。输入描述输入整数n,m (1原创 2022-08-01 16:27:26 · 323 阅读 · 0 评论 -
HDU - 2018 Multi-University Training Contest 2 - 1004: Game
GameTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 0Accepted Submission(s): 0Problem DescriptionAlice and Bob are playing a game....原创 2018-07-25 15:44:05 · 413 阅读 · 0 评论 -
ZCMU - 1783: 秋实大哥与快餐店
题目链接:点击打开链接题目大意:略。解题思路:数组大小定义为:2e6+10,数组大小与 n,m 是无关的,只与 cid 的最大值相关,算出对应的最多位数,比如:此题目中 cid 最大值为 1000000,对应的二进制位数最多 20位,根据完全二叉树的结点公式,最多 2^21-1。因为这里是边作为 二进制位,结点作为 链接下一个结点的下标。又因为题目说了是 cid^pid 最大的...原创 2018-07-25 15:29:28 · 313 阅读 · 0 评论 -
HDU - 1724: Ellipse
题目链接:点击打开链接题目大意:求出所给椭圆的蓝色阴影部分面积。由于阴影部分是不规则图形,所以,可以考虑用数值分析的办法-辛普森公式或者牛顿-科特斯公式求积分法,为了增加精度,可以用二分法迭代细化。解题思路:这是一道自适应辛普森积分的入门题,也是我写的第一道辛普森积分。题目就是求两条线所夹的椭圆的面积。这是个标准的椭圆,其中心在原点。我好像看到了题目连椭圆面积公式都...原创 2018-08-09 11:48:21 · 391 阅读 · 0 评论 -
ZOJ - Summer 2018 - Contest 2 by Astolfo - Problems - 1002: Hazard and The Triangle
Hazard and The TriangleTime Limit:1 Second Memory Limit:262144 KB Score:1I'm Eden Hazard,the so-called "superb passer". In a match in the group stage,three players surrounding me t...原创 2018-07-15 17:14:29 · 183 阅读 · 0 评论 -
ZOJ - Summer 2018 - Contest 1 by SBconscious - Problems - 1001: Saber
SaberTime Limit:2 Seconds Memory Limit:65536 KB Score:1Saber is a Class in the Holy Grail War. This Class is regarded as one of the most powerful Class.Saber is a tree-lover. She ...原创 2018-07-14 21:11:15 · 197 阅读 · 0 评论 -
ZCMU - 4927: 剩下的树
题目链接:点击打开链接题目大意:略。解题思路:区间合并技巧:先按 L 升序,如果一样,按 R 升序;排序完之后,从头开始相邻之间比较:如果 L2 在 (L1,R1) 内且 R2 大于 R1,则进行合并;否则进行计数并维护 L1、R1。AC 代码#include<bits/stdc++.h>#include<cmath>#define...原创 2018-10-10 13:03:24 · 438 阅读 · 0 评论 -
ZCMU - 2163: 项链
题目链接:点击打开链接题目大意:略。解题思路:注释3 是通过的,但是 注释1 和 注释3 思想是一样的,为啥 注释1 通不过?!求大佬解答。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a)#define INF 0x3f3f3f3fusing name...原创 2018-06-07 23:15:23 · 529 阅读 · 0 评论 -
ZCMU - 1990: Fibonacci
题目链接:点击打开链接题目大意:判断所给的数能不能由斐波那契数组成,如果能输出任意一种组成形式(注意:组成数中不能有相邻的),不能输出-1。解题思路:暴搜 DFS,注意:不要正方向来(1,2,3,5...)TLE,反方向即可 AC。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,...原创 2018-05-23 23:21:43 · 359 阅读 · 0 评论 -
ZCMU - 2149: wjw的排序问题
题目链接:点击打开链接题目大意:略。解题思路:快速排序对排序好的或相等的元素进行排序会形成单枝树,很慢,这时用归并排序。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll...原创 2018-06-04 08:57:57 · 414 阅读 · 0 评论 -
ZCMU - 2010: company
题目链接:点击打开链接题目大意:有 n 种商品以及这些商品的价值与数量,每天只能购买一件商品,且 ans 为 sum(ti×vali) ,其中 ti 为第几天,求最终所能得到的最大 ans 。解题思路:整理好数组并从大到小排序,以及 sum[i] 从 arr[i],[0,k) 开始逐个相加,最后(最关键)只要sum[i]>=0就相加,否则break;此时你肯定会问为什么这样就能保证正确答案?...原创 2018-05-02 23:34:04 · 477 阅读 · 0 评论 -
ZCMU - 1601: 卡斯丁狗去挖矿
题目链接:点击打开链接题目大意:略。解题思路:三维数组:dp[i][j][k] + 01背包;注意对每个坐标(互相独立)进行 01背包。AC 代码#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;// 01背包 - 三...原创 2018-04-20 13:49:40 · 447 阅读 · 0 评论 -
ZCMU - 2158: G.ly的进制转换
题目链接:点击打开链接题目大意:略。解题思路:先整合16 To 2进制,注意补位为3的倍数(8进制),然后循环 i+=3 来跑完,前导0省略。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef l...原创 2018-06-15 08:48:50 · 410 阅读 · 0 评论 -
ZCMU - 2153: D.ly的排队问题
题目链接:点击打开链接题目大意:略。解题思路:Topo排序 + 优先队列。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a)using namespace std;typedef long long ll;con...原创 2018-06-15 09:13:15 · 641 阅读 · 0 评论 -
ZCMU - 2154: E.wjw的排队问题
题目链接:点击打开链接题目大意:略。解题思路:二分 + 贪心。明显可以看出此题的答案具有单调性(单调性解释:比如说如果题目的答案为3,那么4也符合题目要求只不过不是最优解罢了)因为答案具有单调性,于是可以采用二分的方式求解答案。答案检验。比如说如果当前检验答案为mid,那么对于第i个团体可以分散的范围为[b[i]-mid,b[i]+mid],只要当前范围剩余空位小于a[i],...原创 2018-06-15 12:41:36 · 499 阅读 · 0 评论 -
ZCMU - 1931: wjw的剪纸
题目链接:点击打开链接题目大意:略。解题思路:从中心点开始搜索,每次可以走四个方向。搜索的过程要将中心对称点顺便标记。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);#define INF 0x3f3f3f3fus...原创 2018-07-21 19:12:58 · 437 阅读 · 0 评论 -
ZCMU - 1611: 大四下之回来看看
题目链接:点击打开链接题目大意:略。解题思路:mod 大数处理。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;int main(){ int a[10...原创 2018-04-22 00:20:05 · 360 阅读 · 1 评论 -
ZCMU - 1951: ly和wjw的无聊游戏
题目链接:点击打开链接题目大意:略。解题思路:我们考虑将 a 和 b 合起来考虑:a*b=k1^3*k2^3*k3^3*...kn^3=(k1*k2*...kn)^3所以 a*b 可以表示为某个数的三次方,但是这只是一个必要条件,显然我们还需要考虑对任意 ki,a 和 b 的因子都都有它,因为赢的人乘 ki^2,输的的人乘 ki,也就是幂次比为 1:2 或 2:1,不能存在...原创 2018-07-21 19:18:52 · 325 阅读 · 0 评论 -
ZCMU - 1934: ly的二叉树
题目链接:点击打开链接题目大意:略。解题思路:卡特兰数点击打开链接 + 乘法逆元点击打开链接。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);#define INF 0x3f3f3f3fusing namesp...原创 2018-07-21 19:23:49 · 308 阅读 · 0 评论 -
ZCMU - 1919: kirito‘s 星爆气流斩
题目链接:点击打开链接题目大意:略。解题思路:多重背包。AC 代码#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof a)using namespace std;typedef long long ll;const int MAXN = 500000+100;int ...原创 2018-07-21 19:26:45 · 570 阅读 · 0 评论 -
ZCMU - 4925: 字符串的查找删除
题目链接:点击打开链接题目大意:略。解题思路:字符串技巧。AC 代码#include<bits/stdc++.h>#include<cmath>#include <string.h>#define mem(a,b) memset(a,b,sizeof a)#define ssclr(ss) ss.clear(), s...原创 2018-10-04 11:02:54 · 586 阅读 · 0 评论 -
ZCMU - 1605: 大一下之小试身手
题目链接:点击打开链接题目大意:略。解题思路:sscanf 函数 + 快速幂,注意:题目中的数据可能引号里含有引号,如果处理不当可能导致TLE。AC 代码#include<bits/stdc++.h>using namespace std;typedef long long ll;ll power(ll a,ll b){ ll ans=1; while(b...原创 2018-04-22 00:16:57 · 497 阅读 · 0 评论 -
ZCMU - 2047: 数的读法
题目链接:点击打开链接题目大意:略。解题思路:点击打开链接(1亿版) + 10亿的情况。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;vector<str...原创 2018-06-19 13:54:00 · 560 阅读 · 0 评论 -
ZCMU - 1384: 简单题4
题目链接:点击打开链接题目大意:略。解题思路:一开始把它想成多叉树的遍历情况,虽然没错,但是思维被定向了。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;int ...原创 2018-06-11 01:04:57 · 369 阅读 · 0 评论 -
ZCMU - 2165: 黄金矿工
题目链接:点击打开链接题目大意:略。解题思路:DFS --> TLE;难点在于如何把直线问题转换成01背包问题:在相同角度基础上并且到原点距离短的优先在前排序后,将在后面的元素的时间加上相邻前面元素(在一条直线上)的时间,可以理解成离散状态,该点需要的时间是ti+=t(i-1)。TLE 代码#include<bits/stdc++.h>#include<cmath>...原创 2018-06-11 00:59:42 · 1125 阅读 · 0 评论 -
ZCMU - 1992: Swiss-system tournament
题目链接:点击打开链接题目大意:给出 2*n 个人,每次第1个人和第2个人比赛,第3个人和第4个人比赛…进行 r 轮比赛,每轮比完赛都进行排名,求出最后第 q 名是谁。能力大的获胜,获胜的加 1分,输了的加 0分。。解题思路:归并排序思想,每轮比赛,把赢者放一组,输者放一组,这样单个数组t1/t2也是有序的,然后进行合并也能保证数组nds有序。AC 代码#include<bits/stdc+...原创 2018-06-25 18:16:42 · 435 阅读 · 0 评论 -
ZCMU - 1381: 简单题
题目链接:点击打开链接题目大意:略。解题思路:多重背包。AC 代码#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof a)using namespace std;typedef long long ll;const int MAXN = 10000;int dp[MAXN];int val[MAXN]...原创 2018-04-17 23:46:58 · 623 阅读 · 0 评论 -
ZCMU - 1166: 忠哥的dp(II)
题目链接:点击打开链接题目大意:略。解题思路:完全背包。AC 代码#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;const int maxn=10000+10;int dp1[maxn],dp2[maxn];i...原创 2018-04-16 23:41:37 · 429 阅读 · 0 评论 -
ZCMU - 1961: 引水入城
题目链接:点击打开链接题目大意:略。解题思路:通过第一行对应的最后一行的各个区间范围(dfs)来进行(dp)操作。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);#define INF 0x3f3f3f3fusin...原创 2018-07-21 19:08:34 · 332 阅读 · 0 评论 -
ZCMU - 1978: 调酒壶里的酸奶
题目链接:点击打开链接题目大意:略。解题思路:记忆化搜索,对每个状态都有六种情况:把A倒满 把B倒满 把A倒光 把B倒光 把A倒进B 把B倒进A六个情况直接搜索就可以了...当然dfs是会超时的,需要用记忆化搜索。AC 代码#include<bits/stdc++.h>#include<cmath>#define m...原创 2018-07-17 15:50:34 · 638 阅读 · 0 评论 -
ZCMU - 2065: 打印十字图
题目链接:点击打开链接题目大意:略。解题思路:AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);#define INF 0x3f3f3f3fusing namespace std;typedef long lon...原创 2018-07-17 15:46:16 · 360 阅读 · 0 评论 -
ZCMU - 2004: HEX
题目链接:点击打开链接题目大意:给出一个类似杨辉三角的菱形,求给定坐标的数值是多少。不难看出,每一个位置的数字就是(左上,右上,正上)这三个数的和。解题思路:从(1,1)走到(A,B)一共有多少总方案。可以左下走(1,0),正下走(2,1),右下走(1,1)。假设左下走了 x 次,正下走 y 次,右下走 z 次。则得到方程:(1,1)+ x*(1,0)+ y*(2,1)+ z*(1,1)==(a,...原创 2018-06-28 08:22:46 · 341 阅读 · 0 评论 -
ZCMU - 1991: Proxy
题目链接:点击打开链接题目大意:给一个有向图,求0点到n+1点的最短路径上直接与0点连接的点,如果有多条最短路就输出编号最小的那个。解题思路:思路就是反向建图,求出终点到起点的最短路径,然后从小到大枚举所有与0点连接的点n,只要 dis[v]+map[v][0]==dis[0] 成立就退出,注意起点直接与终点相连的情况。AC 代码#include<bits/stdc++.h>#inc...原创 2018-06-27 14:10:35 · 358 阅读 · 0 评论 -
ZCMU - 2175: Leaders
题目链接:点击打开链接题目大意:给一个无向图,判断给出的任意两点(注意起点等于终点的情况)是否存在一条经过的边数为奇数的路劲。解题思路:略。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a);#define INF 0x3f3f3f3fusing nam...原创 2018-07-09 10:01:53 · 343 阅读 · 0 评论 -
ZCMU - 2157: K.ly的旅行计划
题目链接:点击打开链接题目大意:初始点为0,目标点为m(可能是负数),对于一步有:1/4的概率-1,1/4的概率+1,1/2的概率不变,求走n步,从0到m的概率是多少,假设答案为a/b,以a*b的乘法逆元形式输出。解题思路:设x,y,z分别为+1的步数,-1的步数,0的步数;则:x*1+y*(-1)+z*0 = x-y = mx+y+z = n==>x=m+yz=n-m-y-y假设到达目标点...原创 2018-06-20 11:41:13 · 551 阅读 · 0 评论 -
ZCMU - 2018: Memory leak
题目链接:点击打开链接题目大意:略。解题思路:注意:“return 0;” 的时候别只输了个 “return” 就退出了,要输完,否则 T-- 会消耗掉一次,导致结果WA。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a)#define INF 0x3f3f...原创 2018-06-26 15:51:43 · 401 阅读 · 0 评论 -
ZCMU - 2117: 数的划分
题目链接(计数版):点击打开链接题目大意:略。解题思路:略。附加题目(组合版):点击打开链接。AC 代码(计数版)#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;//const int maxn=2e8;int v...原创 2018-06-19 19:22:36 · 504 阅读 · 0 评论 -
ZCMU - 1111: 松哥的困惑II
题目链接:点击打开链接题目大意:略。解题思路:多重背包。AC 代码#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof a)using namespace std;typedef long long ll;const int MAXN = 10005;int dp[MAXN];int val[MAXN]...原创 2018-04-16 22:32:30 · 592 阅读 · 0 评论 -
HDU - 1285: 确定比赛名次
题目链接:点击打开链接题目大意:略。解题思路:略。AC 代码#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a)#define ssclr(ss) ss.clear(), ss.str("")#define INF 0x3f3f3f...原创 2018-09-06 17:21:20 · 311 阅读 · 0 评论