自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gym104366 I.Subsetting and Summing

使得(|x|+|y|+|z|)最大的向量(x,y,z)中的三个参数可能有正有负对吧, 假设情况是(8,-10,9)那么(|x|+|y|+|z|)这个东西取绝对值之后就是x-y+z, 所以一个自然的解法就出来了。题意就是给你n(1<=n<=1e5)个三维向量,向量的坐标数据范围x1, x2, x3为−1e4≤x1, x2, x3≤1e4。从这n个向量中选一些向量合成一个新向量(x,y,z), 问所有选取方案当中(|x|+|y|+|z|)的最大值。综上, 我们只需要遍历一共2的3次方种符号正负的情况就行了。

2024-03-09 23:30:42 313

原创 Codeforces Round #778 C. Alice and the Cake

2023,拭目以待!

2023-01-01 00:19:41 176 1

原创 Codeforces Round #829 C. Wish I Knew How to Sort

这种题多做就能想到状态了

2022-12-30 11:09:41 188

原创 Codeforces Round #613 D. Dr. Evil Underscores

算法竞赛

2022-12-16 09:27:56 146

原创 Codeforces Round #824 D. Meta-set

算法

2022-10-26 11:06:40 129

原创 Codeforces Round #796 C. Manipulating History

算法竞赛

2022-06-04 23:04:09 87

原创 Codeforces Round #748 E. Gardener and Tree

这题一看就让人想到拓扑排序,所以我们用队列来搞这题中队列可以存放一次操作后将被删除的点最开始度为0或1的点会被删除,就把他们放到队列中

2022-04-08 21:35:15 105

原创 Codeforces Round #760 D. Array and Operations

贪心证明:首先,对n个数从小到大排序后,后k个数做分母肯定最优其次,前n-2*k个数都作为剩下的数最优,这个需要证明一下我才舒服假如当前方案前n-2*k个数中的某个数做了分子,与这个数有关的分数的贡献是0或1,我们在条件允许的情况下让一个比它大的数来代替它的位置,分数贡献最多增加1,但是,剩余的数的贡献至少减少了1,所以总的来看贡献不会变大,我们不如就让那个比它大的数做分子,反正贡献不会增加所以前n-2*k个数都作为剩下的数最好所以我们就要挑选次k大的数作为分子,剩下的问题就是怎么配对分子分

2022-04-04 20:39:04 92

原创 Codeforces Round #780 E. Matrix and Shifts

按自己思考起来最舒服的思路写出了n^3的做法,TLE无疑#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<map>#include<queue>#include<vector>using namespace std;typedef long long ll;const int N = 2010;

2022-04-02 08:24:02 250

原创 Codeforces Round #777 D. Madoka and the Best School in Russia

思路:x里如果只有一个d,x只能被表示为d*a(d*a是一个漂亮数),找不到第二种符合条件的形式了。x里如果有2个d,尝试把x表示成 d(一个漂亮数)* d*a(另一个漂亮数),是否还有第二种取决于a是合数还是质数,如果a是质数就没有了。若是合数肯定有,因为你可以把a分成两个数b,c ,然后把x表示为d*b(一个漂亮数) * d*c (另一个漂亮数)x里如果有3个d,尝试把x表示成 d * d * (d*a) 同上面的情况,a如果是合数则肯定有。不同于上面的是,a如果是质数是有可能有另一种形式.

2022-03-12 10:31:08 205

原创 2022.02.21

PPT(1)最后一题题意:写一个程序来检查C程序的基本语法错误,如不匹配的圆括号、方括号和大括号。不要忘记单引号和双引号、转义序列和注释。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<string>#include<cmath>#include<map>#include<stack&.

2022-02-21 16:25:54 692

原创 存不存在这样的三角形

对于一个三角形ABC它的内心D一定在三角形内部。我想知道,在ABD、ACD、BCD这三个三角形中是否存在一个三角形,这个三角形的面积为三角形ABC的面积的1/2我们先假定这样的三角形存在,于是我画了一个这个三角形有什么性质呢? 很显然,AD=DE根据角平分线定理,EC=CA ,EB=BA ,这下完蛋了,AB+AC=BC ,根本就不存在这样的三角形毕竟三角形的两边之和大于第三边...

2022-01-09 17:29:12 211

原创 分解因数[2.2基本算法之递归1751]

这也能ac??太开心了divid函数,把一个数分解成2个数,为避免重复分解,引入了p来保序只有i>=p才进行分解,否则就有重复的了#include<iostream>using namespace std;typedef long long ll;ll divid(int p,int a){ ll res = 0; for (int i = 2;i <= a / i;i++) { if (a%i == 0) { if(i>=p) res

2022-01-07 19:40:24 507

原创 杨老师的照相排列题解

有N个学生合影,站成左端对齐的k排,每排分别有N1,N2,…,Nk个人。 (N1≥N2≥…≥Nk)第1排站在最后边,第k排站在最前边。学生的身高互不相同,把他们从高到底依次标记为1,2,…,N1,2,…,N。在合影时要求每一排从左到右身高递减,每一列从后到前身高也递减。问一共有多少种安排合影位置的方案?下面的一排三角矩阵给出了当N=6,k=3,N1=3,N2=2,N3=1N=6时的全部16种合影方案。注意身高最高的是1,最低的是6。123 123 124...

2021-11-25 07:29:59 432

原创 八皇后问题OpenJudge百练-2754

就单纯的放一下代码,ac了超开心。第一次处理TLE,想处理好真的需要心静下来,以忘掉时间的状态去思考。#include<iostream>#include<cstring>#include<cmath>using namespace std;int a[9] = { 0 };int b[93][9] = { 0 };static int times = 0;void recQueen(){ int flag = 1; for (int i = 1

2021-11-03 16:13:17 133

原创 OpenJudge百练-八皇后问题2698

就纯纯的放一下ac代码

2021-11-02 08:54:42 114

原创 汉诺塔问题OpenJudge2.2基本算法之递归和自调用函数

#include<iostream>#include<cstring>using namespace std;struct node{ char pole; node * next;};node * creatList(node * head1, char a, char b, char c){ head1 = new node; head1->pole = a; node * r1 = NULL; r1 = new node; head1-&gt.

2021-10-28 18:32:19 244

原创 删除数组中的元素(链表)

#include<iostream>#include<stdlib.h>using namespace std;struct node{ int data; node * next;};void printList(node * head){ node * p = NULL; p = head; while (p!=NULL) { cout << p->data << " "; p = p->next; }}.

2021-10-26 08:18:58 821

原创 杭电2025查找最大元素

#include<iostream>#include<string>#include<cstring>using namespace std;int main(){ string s; while (cin >> s) { char max; max = s[0]; int index[100]; for (int i = 1;i<s.size();i++) { if (s[i] > max) {.

2021-10-22 16:37:09 59

原创 杭电2032杨辉三角

#include<iostream>using namespace std;int *a[30];int main(){ for (int i = 0;i < 30;i++) { a[i] = new int[i + 1]; } for (int i = 0;i < 30;i++) { a[i][0] = 1; a[i][i] = 1; } for (int i = 2;i < 30;i++) { for (int j = 1;j &l.

2021-10-22 14:21:56 56

原创 区间内的真素数OpenJudge1.13编程基础之综合应用-23

#include<iostream>#include<cmath>bool isPrime(int x){ for (int i = 1;i <= (int)sqrt(x);i++) { if (x%i == 0 && i != 1) return false; } if (x == 1) { return false; } return true;}int flip(int x){ int a[5]; int i.

2021-10-18 16:00:39 157

原创 最大质因子序列OpenJudge1.13编程基础之综合应用-21

#include<iostream>#include<cmath>bool isPrime(int x){ for (int i = 1;i <= (int)sqrt(x);i++) { if (x%i == 0 && i != 1) return false; } return true;}using namespace std;int main(){ int m, n,flag=0; cin >> m &g.

2021-10-18 14:29:52 224

原创 笨小猴NOIP2008提高组第1题

#include<iostream>#include<string>#include<cmath>#include<cstring>using namespace std;int main(){ string word; cin >> word; int a[26]; memset(a, 0, sizeof(a)); for (int i = 0;i < word.size();i++) { a[word[i] .

2021-10-18 12:16:32 118

原创 单词替换OpenJudge1.7编程基础之字符串-21

#include<iostream>#include<string>using namespace std;int main(){ string s, a, b, word; int h = 0; getline(cin, s); cin >> a; cin >> b; s += ' '; for (int i = 0;i < s.size();i++) { if (s[i] == ' ') //开始写的时候把"=="写成.

2021-10-18 11:03:31 431

原创 统计单词数NOIP2011普及组第2题

#include<iostream>#include<cstring>#include<string>#include<cstdio>using namespace std;int main(){ string key, word, str; int first, count = 0, flag = 1, fpos, epos; getline(cin,key); getline(cin,str); str += ' '; int l.

2021-10-17 12:22:45 243

原创 最长最短单词(信息学奥赛一本通C++)

#include<iostream>#include<string>#include<cstring>using namespace std;int main(){ string sente,minstr,maxstr; int flag = 0,min=100,max=0; getline(cin, sente); sente += ' '; for (int i = 0;i < sente.size();i++) { if ((sen.

2021-10-17 10:31:28 1221

原创 POJ1222熄灯问题C++

#include<iostream>#include<cstring>using namespace std;void press1(bool (*b)[6],bool (*a)[6]){ int i; for ( i = 0;i < 6;i++) { if (b[0][i] == 1) { if (i != 0 && i != 5) { a[0][i] = !a[0][i]; a[0][i - 1] = !a.

2021-10-16 19:24:27 225

原创 Vigenere密码C++

#include<iostream>#include<string>using namespace std;int main(){ string str,str1; char word = 'a',word1='A'; for (int i = 0;i <=25 ;i++) { str1 += word1; str += word; word++; word1++; } str += str;//获得a到z+a到z str1 += str.

2021-10-15 08:37:17 582

原创 POJ1013假美元(简单描述思路)

#include<iostream>#include<string>#include<cstring>#include<cstdio>using namespace std;int main(){ string s[3],str; for (int i = 0;i < 3;i++) { getline(cin, s[i]); } for (int i = 65;i < 77;i++) { char p = i; .

2021-10-14 19:37:52 121

原创 杭电2023求平均成绩

#include<iostream>#include<iomanip>using namespace std;int main(){ int n, m; double a[50][5]; while (cin >> n >> m) { for (int i = 0;i < n;i++) { for (int j = 0;j < m;j++) { cin >> a[i][j]; } .

2021-09-20 17:05:03 101

原创 杭电2015偶数求和

杭电2005#include<iostream>using namespace std;int main(){ int n, m, q, p; int a[100]; for (int i = 0;i < 100;i++) { a[i] = 2 * i + 2; } while (cin >> n >> m) { if (0 < n <= 100) { q = n / m * m; p = n % m;

2021-09-19 08:36:26 68

空空如也

空空如也

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

TA关注的人

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