自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于DPC++的FCM并行算法设计

本次实验成功在intel操作平台上完成了使用DPC++编程设计FCM并行算法。同时也实现了FCM的串行算法,将串行算法和并行算法进行了对比,计算多核下的加速比,以此来评估并行算法的性能。在实验过程中,在编译执行相应CPP文件时,选择GPU的操作抛出了“No gpu device found”的异常,因此本实验选择使用CPU进行实验,比较CPU多核下的加速比。后续在编译串行代码时,还是使用的是icpxs -fsycl,但后来发现,使用该编译器编译,会自动进行优化,因此跑出来的串行时间要更短。

2023-11-23 16:12:28 302

原创 Android开发基础知识-Intent,不同Activity之间传递资源

1.UI(用户界面设计user interface) 1.Android提供丰富多样的预置UI组件(component),包括:结构化布局对象、UI控件、对话框、通知和菜单等。利用这些组件就可为应用构建图形界面。 2.Android UI都是由布局和控件组成的。 布局(Layout)和控件(widget) 1.布局可定义应用中的界面结构。布局中的所有元素均使用View和ViewGroup对象的层次结构进行构建。 2.View用来绘制用户可查看并进行交互的内容。 3.ViewGroup是不可见容器,用于定义V

2022-03-31 10:39:39 2756

原创 Codeforces Round

前言:呜呜呜,这几天一直在忙专业课的事,从17号回家到现在都没怎么打cf(没参加正式赛,都是vp的,然后也在准备pta,疯狂刷题,cf就暂时鸽了,后面会补回来。然后就今天下午打了牛客,迟到了半小时(差点忘记了。。。然后打到一半又有事。。。后面几天准备把cf和atc最近的两场都补了。 Codeforces Round #766 (Div. 2) A就不说了。 B B每次都会选尽可能靠近中间的座位,而A每次会选四个角落中的某个。对于每一个被涂色的座位,总是被涂色前B的最佳选择,也就是说我们可以将被涂色的座位作为

2022-01-25 00:11:29 57

原创 2021牛客多校第八场

Rise of Shadows 给你一个数字,如果满足既是闰年又是素数,则输出no,否则输出yes。可以看出,答案只能是no。 #include<bits/stdc++.h> using namespace std; void solve() { int n; scanf("%d",&n); cout << "no" << endl; } int main() { int t; cin >> t;

2021-08-15 10:06:10 61

原创 202牛客多校第七场

xay loves or 题意是x|y = s,问有多少个正数y满足这个式子,x,s是已知的。这题直接按照位来讨论。如果s的当前位为0,x为1,则答案为零。如果s为1,x为0,则增加了2种贡献。如果s为0,x为0,或者s为1,x为1,则只有1种贡献,最后累积乘起来就是答案。还有一个坑点,就是y是正整数,最后还要用0|x看看是不是等于s,是的话答案减1。这个地方之前没仔细看题,导致wa了好多次。。。 #include<bits/stdc++.h> using namespace std; ty

2021-08-15 09:39:25 46

原创 2021杭电多校第六场

Yes, Prime Minister 先筛一遍质数,对于n<0,需要先将其连加到刚好为正,答案为2n+1+刚好为正数时的那个答案; 对于n>0,每一次n++,看n或者n2+1是否为质数。 附上一个大佬的理解。 比赛的时候也是很快找到了自己以为正确的结论,输了很多样例都感觉没问题,不过还是错了。。。 #include<bits/stdc++.h> using namespace std; #define ll long long #define mod 1000000007ll

2021-08-10 22:54:13 51

原创 2021杭电多校第五场

VC Is All You Need 签到题。比如在一个一维空间,有3个点,有两种颜色,你可以画一条线就可以让该线的两边都是同色。现在给你n个点,k - 1维的空间,也就相当于只能画k-1条线,能不能实现上述的分隔颜色。考虑先一个一个点地 分,最后如果剩下3个点,肯定就不能成功,所以当n > k + 1时,不存在。 #include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { int

2021-08-10 22:37:39 269

原创 2021牛客多校第六场

Intervals on the Ring 给你m个区间,然后构造几个区间,他们的交集包含给点区间的所有元素,区间如果l>r的话,包含的元素就是l, l+1,l+2,…,1,2,…,r。最后输出构造的方案。 具体见代码。 #include<bits/stdc++.h> using namespace std; const int N = 2010; struct node { int l,r; }; int n,m; node a[N]; bool vi[N]; bool

2021-08-07 10:19:47 53

原创 2021牛客多校第五场

Boxes 第一种情况是:不花c知道有多少个黑球,全部打开,那么所花就是箱子价值总和。 第二种情况是:将 wi 从小到大排序,先花c知道有多少个黑球,再剩下的就相当于一个随机 01 序列, 那么每次打开一个球,结束的概率为(1/2)^(n-i).所以如果从前往后遍历的话, 代价就为:C + Σ wi*(1-(1/2)^(n-i)). 两者取较小值即可。 #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int n; d

2021-08-07 10:01:32 66

原创 2021杭电多校第四场

Calculus 签到题。看题解说都是收敛的,不过似乎我觉得有3个收敛的,跟c的取值有关,判断一下就好了。 #include<bits/stdc++.h> using namespace std; string s; void solve() { cin >> s; bool flag = true; for(int i = 0;i < s.size();i ++ ) { if(i == 0) {

2021-08-03 22:02:50 310

原创 2021杭电多校第三场

Game on Plane 考的是斜率和找规律相关。由题意可得,Alice 的最优策略是选出 k 条斜率尽可能不同的直线,而 Bob 的最优策略是避开斜率出现次数最多的直线,因此可考虑用 pair 将每条直线的斜率都进行标记,同时统计出现过的不同的斜率个数。 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; typedef pair<int,int> pii; int n; pii a[N

2021-08-03 21:24:17 50

原创 2021牛客多校训练营4

C LCS 最长公共子序列,神奇的构造,先把他们的公共部分求出来,也就是最小值,然后在每个前面加上这么多个a,然后再依次看a,b,c,依次加入不同的字母,最后如果长度超过了n,肯定不存在。 #include<bits/stdc++.h> using namespace std; int a,b,c,n; int main() { string s1,s2,s3; s1 = "", s2 = "",s3 = ""; cin >> a >> b

2021-07-29 09:42:48 142

原创 2021牛客多校训练营3

B Black and white 这题直接将行列转换成点,而把点看成两个行列点的边,这样就转换成了当行列点在一个连通块的时候,再来个已经是连通块的点的时候,就不需要加上他的权值了,所以一共有n + m 个点,最后又要使得所有点是连通的,也就是如果再加一条边一定可以形成环,而这条环是我们不需要加的,所以直接就转换成了最小生成树,n + m - 1条边,prim直接求。 #include<bits/stdc++.h> using namespace std; typedef long lon

2021-07-29 08:55:37 179

原创 2021杭电多校第一场

1001 Mod, Or and Everything 签到题吧。直接暴力打表,前100个数就看出来了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; void solve() { ll n; scanf("%lld",&n); if((n&(-n)) == n) { printf("%lld\n",max(0ll,n / 2 - 1))

2021-07-25 16:52:42 281 1

原创 2021杭电多校第二场

1001 I love cube 签到题。看清楚他问什么,边长为n-1的正方体(立方体),求满足条件的的等边三角形的个数,等边三角形的点只能在边界和内部,不能在外部。最后求出一个3次方求和的公式。 一些小知识,记得*的优先级高于%,打括号呀~~. #include<bits/stdc++.h> using namespace std; typedef long long ll; const int mod = 1e9 + 7; void solve() { ll n;

2021-07-25 15:37:43 329

原创 2021牛客暑期多校训练营2

C Draw Grids链接 签到题。nm的矩阵,任意两个点连线段,线段不能重复,并且线段连接不能封闭。可以看出,总共合法的线段连接就只有nm - 1条,从起点开始呈现螺旋式走,就可以推出来,当为奇数时,先手必败,否则先手必胜。 #include <bits/stdc++.h> using namespace std; int a[5][5]; int main() { int n, m; cin>>n>>m; if ((n * m - 1) & 1)

2021-07-21 12:58:36 110

原创 2021牛客暑期多校训练营1

G Game of Swapping Numbers 就是推结论,最后贪心一下就行了。具体可以参考题解文件。 A,B两个序列,因为求的是差的绝对值,就可以转换成在Ai,Bi前面同时添加+或-,例如 其实添加正负号就是为了好理解,真正在代码中不会去做的。首先令最优的答案就是我们当前序列的差的绝对值,但是我们可以发现,现在我们对于Ai,Bi,他们的符号是相同的,因此我们可以将正的Ai,Bi,和负的Ai,Bi,交换,这样就可以使得答案变大,会变大2 * [min(Ai,Bi) - max(Ai,Bi)],公式我没

2021-07-20 23:21:27 106

空空如也

空空如也

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

TA关注的人

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