自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 GDUT专题练习1 B 全排列 模板

题目链接:专题学习1 - Virtual Judge (vjudge.net) 因为是模板题,所以直接贴代码了 代码: #include<stdio.h> #include<string.h> char str[10],now[10]; int vis[10]; int n; void dfs(int x) { int i; if(x==n) { printf("%s\n",now); return; } for(i=0; str[i]; i++) {

2022-02-23 23:06:12 295

原创 Codeforces 773 div 2 B Power Walking

题目链接:Problem - B - Codeforces 题目大意: 有n种已编号的物品,已知一个小孩的“能力”为他拥有的不同编号的物品数目之和,现有k个小孩 思路: 代码: #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmat.

2022-02-23 22:48:35 596

原创 Codeforces 773 div 2 A Hard Way

题目链接:Problem - A - Codeforces 题目大意: 在直角坐标系XOY的非负区域中,存在一个三角形ABC,从y=0这条直线上的某一个点作一条射线(该射线不能穿过△ABC的内部),如果能到达△ABC的某一条边的某一个点上,那么该点称为“安全点”,现在问你对于给定的△ABC,它的边上的“不安全点”组成的线段有多长? 思路: 我们不妨反过来看,从该三角形边上的一点,看能不能不穿过三角形内部而作出一条直线经过x轴。 对于斜率不存在的那条边,肯定能作出该直线 对斜率不为0的边所在的直线

2022-02-23 21:56:43 292

原创 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 L题 最小生成树

题目链接:L-WireConnection_第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 (nowcoder.com) 思路: 最小生成树的模板题 代码: #include<bits/stdc++.h> using namespace std; typedef long long uu; const int N = 2e3+500,inf=0x3f3f3f3f; bool vis[N]; uu a[N][N],ans[N]; struct node { double

2022-02-23 15:25:48 301

原创 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 G题 数学思维

题目链接: 思路: 第一想法是枚举a,b,但是这样复杂度就来到了O(),显然TLE 那么我们就应该想想 N=a+b+ab 能不能变形一下 其实一眼就能看出来N+1=a+b+ab+1=(a+1)(b+1) 也就是说如果N不能分解为a+b+ab 那么N+1必定不能分解为(a+1)(b+1) 又因为a+1>1,b+1>1 也就是说N+1是一个质数 那么我们只要判断N+1是不是一个质数即可得出答案 复杂度为O() 代码: #include<stdio.h> #i..

2022-02-23 14:39:55 562

原创 GDUT专题练习5 Count Color 状态压缩 线段树

题目链接:GDUT-21级第五次专题训练——树状数组,线段树 - Virtual Judge (vjudge.net) 题目大意: 思路: 代码: #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include&lt

2022-02-23 12:44:10 410

原创 GDUT专题练习5 Lost Cows 暴力解法

题目链接:GDUT-21级第五次专题训练——树状数组,线段树 - Virtual Judge (vjudge.net) 题目大意: 有一个1,2,3,....,n(1<n<=8000)的,现在已知从第二个数开始,每一个数之前小于这个数的数的个数为(1<i<=n),求这个排列。 思路: 从前往后推没有思路,本着正难则反的原则,从后面开始推起,我们不难发现: 先想出t=[0,1,2,3,4,...,n] 最后一个数的大小就是t[+1],然后把它从t中删去 倒数第二个数的大小

2022-02-22 12:48:42 150

原创 GDUT专题练习4 Happy 2006 数论

题目链接:2022_GDUT_新生专题训练_数论 - Virtual Judge (vjudge.net) 题目大意: 对于给定的m(1<=m<=1e6),k(1<=k<=1e8),求出第k个与m互质的数 思路: 直接暴力复杂度为O(K),显然不可取 注意到m最大为1e6,那么出题人可能出的复杂度是O(nlogn)或者O(n) 我们看这样一条公式gcd(a,m)=gcd(a+m*t,m) 也就是说与m互质的数也是有类似周期性的 那么我们只要枚举小于m的与m互质的数,存

2022-02-22 12:29:44 157

原创 GDUT专题练习4 同余方程

题目链接:2022_GDUT_新生专题训练_数论 - Virtual Judge (vjudge.net) 思路: 原式等价于求ax+by=1的x的最小正整数解,我们用扩欧算出其中的一个解x0,可知x的所有解为 x=c/d*x0+k*b/d,取得最小正整数解只需模b/d即可,即x(min)=(x0+b(避免x小于0))%b。 代码: #include<iostream> #include<cstdio> #include<cstring> #include&l

2022-02-21 23:30:52 318

原创 GDUT专题学习3 食物链 图论 记忆化搜索

题目链接:专题训练3-图论 - Virtual Judge (vjudge.net) 思路: 代码: #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include&lt

2022-02-21 21:47:39 229

原创 GDUT专题学习3 Learning Languages 并查集

题目链接:专题训练3-图论 - Virtual Judge (vjudge.net) 题目大意: 一个公司有n个员工和m种工作语言,每个员工都会0-m(包含0)种语言,会同一种语言的员工可以互相交流,不会同一种语言的员工也可以通过其他员工间接交流,已知,让一个员工学习一种语言的成本为1块钱,公司为了所有员工能够互相交流,至少需要多少钱。 思路: ①如果公司全部人都不会任何一种语言,那么需要他们全部人学习同一种语言,需要花费n块钱; ②用并查集的思想将能交流的人分成k堆,那么将这k堆连接起来的成本需

2022-02-21 13:31:33 270

原创 GDUT专题学习2 采药 简单DP 01背包 滚动数组

题目链接:专题训练2-DP - Virtual Judge (vjudge.net) 思路: dp[i][j]代表前i株药草剩余j时间的最大价值 这样我们的空间复杂度是O(t*m),可以优化为O(m) 实际上更新每一层的信息只用到上一层的信息,所以我们开一个滚动数组就行了 代码: #include<iostream> #include<cstring> using namespace std; typedef long long uu; int dp[2][1500]

2022-02-21 11:55:04 439

原创 GDUT专题学习2 拦截导弹 LIS问题 Dilworth定理

题目链接:专题训练2-DP - Virtual Judge (vjudge.net) 思路: 运用LIS问题的解法可以求出一个系统拦截的最大导弹数,然后用Dilworth定理求出最少系统数。 代码: #include<iostream> #include<cstring> #include<algorithm> using namespace std; typedef long long uu; int dp[100500],q[100500],num[100

2022-02-21 11:46:50 257

原创 GDUT专题学习1 Equidistant Letters 简单思维

题目链接:专题学习1 - Virtual Judge (vjudge.net) 题目大意: 给你一个字符串,只包含英文字母,相同的字母最多出现2次,让你给出一个该字符串的一个排列,使得所有相同字母的距离都相等 思路: 既然距离没有限制,那我们直接特殊化为0,即相同的字母让他们都相邻,那么只要对字符串进行排序即可。 代码: #include<iostream> #include<cstring> #include<algorithm> using namesp

2022-02-21 11:33:43 372

原创 GDUT专题练习1 Red and Black 简单DFS ACM

题目链接:专题学习1 - Virtual Judge (vjudge.net) 题目大意: 在一个W*H地图中有"#"代表的红砖和"."代表的黑砖,其中红砖不能到达,问能到达的砖块数总共有多少个? #include<iostream> #include<cstring> using namespace std; typedef long long uu; char matrix[50][50]; int W,H,i,j,s=0; void dfs(int x,int y)

2022-02-20 22:14:21 306

空空如也

空空如也

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

TA关注的人

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