自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单记录一下近期

华科offer+1:区块链中科大offer何向南组八成offer是给我的:考核三个星期,读了三篇顶会,复现了一篇,讲了一篇,通过考核。(什么叫零基础速通机器学习…)C++发现了一个错误,对于从文件里面读进来东西:下面这样不会报错:string str;fscanf(file,"%s\t",&str[0]);下面这样会报错:string str;fscanf(file,"%s\t",&str);而且错误很奇怪的,是堆破坏。......

2022-04-22 23:32:55 1733 4

原创 记录一个很典型的题,五子棋 2022/3/6

感觉y总的写法真的是及其巧妙,反正能明白,而且好几道弯弯要过去。这个要好好记录一下。必须记录。#include<bits/stdc++.h>using namespace std;const int N=16;int g[N][N];int dx[4]={1, 0, 1,-1};int dy[4]={0, 1, 1, 1};int main(){ int n;scanf("%d",&n); int state=0,step; for(int i=1.

2022-03-06 23:58:44 217

原创 记录一下学到的东西2022/3/5

对于这个题,感觉还是很巧妙的。你未必知道第i个字母是什么,但是你能知道他是上一个串的第几个字母生成的,于是可以递归,明天接着写。困了晚了,刚发出去一封邮件,希望老师理我。...

2022-03-05 23:53:44 261

原创 第21次CSP认证题目

一、//第一题签到题#include<bits/stdc++.h>using namespace std;int sum=0;int main(){ int N;scanf("%d",&N); for(int i=0;i<N;i++){ int a,b;scanf("%d%d",&a,&b); sum+=a*b; } if(sum>=0) printf("%d",sum); els

2022-03-01 21:29:00 160

原创 mark好久没写了,大概是一个月,如隔三秋

实际上最近我每天都要看一下我的邮箱,每次都是显示有新邮件,但是实际上都没有什么逼东西。我也不知道QQ这东西一天天都在干什么。今天学了点点点点python,但是实际上,我觉得跟没学差不多。这个错误值得记录一下:还是写的太少了,所以老是犯一些简单的错误,理所当然的错误。就是写文件路径的时候,那个路径实际上是文件夹的路径,你还得自己加上文件的名字,而且转义字符要双斜杠。so,聚类主要还是在于你的思想吧。那就让我看看我能如何显示我的思想。感觉上手还算快的吧,就是javaEE要完蛋了。...

2021-11-08 23:04:39 73

原创 记一个错误undefined reference to ‘pthread_create‘

事情的经过是这样的,本身我电脑上配置的codeblocks是13.12版的,后来为了提升个人体验,把机房的codeblocks 20.03搞到了自己的电脑上。刚转移过来的时候,因为,多了一层文件夹的文件层,所以编译器的库文件路径写错了,我改成了之前使用的...

2021-09-25 10:07:23 499

原创 模拟区块链算法记录

2021.9.21数据结构初始完成,接下来要实现,分布式使用多线程来模拟。关于pthread_create(),,有如下:#include <pthread.h>int pthread_create( pthread_t *restrict tidp, //新创建的线程ID指向的内存单元。 const pthread_attr_t *restrict attr, //线程属性,默认为NULL

2021-09-21 16:41:00 7493 2

原创 2021-09-07-Java EE编程

第一部分:Internet与Web 应用第二部分:Servlet服务器小程序第三部分:JSP概述第四部分:JDBC原理第五部分:JavaBean概述第六部分:Spring简介一、WEB开发简介静态WEB,分服务器端和客户端,……动态WEB的实现方式,CGI,PHP,ASP,ASP.NET,JSP/Servlet。CGI不是主流。ASP微软公司结合好,JSP继承了Java的平台无关性。都适合开发大型网站,如淘宝京东,多数是JavaEE架构做的。动态WEB的主要特点1、交互式,人机交互和对

2021-09-07 20:14:15 85

原创 acwing算法基础 模板

快排:经典快排#include<bits/stdc++.h>using namespace std;const int N=1e6+10;int q[N]={};//核心void quick_sort(int q[],int l,int r){ if(l>=r) return ; int x=q[(l+r)/2],i=l-1,j=r+1; while(i<j){ do i++;while(q[i]<x);

2021-07-17 23:11:42 661

原创 微机代码(复习用)

data segment input db 'Please input number:$' output db 'the result is:$'data endsstack segment dw 128 dup(0)stack endscode segment assume cs:code,ds:data,ss:stackstart: mov ax,data mov ds,ax mov ah,9 lea dx,input i

2021-07-03 18:23:40 363

原创 回溯法集锦(26)

https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/submissions/实际上就是全排列。不过变成了不定长的数据。class Solution {public: string str[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; vector<string> ans; string temp_a

2021-06-21 00:23:47 89

原创 动态规划+高精度加法+倒推滚动数组:密文游戏

只能说,教训比较惨重,以后一定好好看数据范围好吧!我一直以为是1000的数据量。。麻了,好几次了,数据范围一直不在脑子里面。5(选做) 密文游戏 (100 分)JLU最近流行密文游戏。发送者把信息(原文)按约定的规则变成密文发给接收者,接收者拿到密文按解密规则得到原文。其它人不知道加密解密规则,即使拿到信息的密文,也无法得知原文。小明是你的好朋友,想和你一起玩密文游戏。你俩约定了一个简单的加密解密方案:字符 0 映射字母 A,字符 1 映射字母 B,依次类推,字符 9 映射字母 J。例如:原文1314

2021-06-08 23:54:59 1148 3

原创 打卡(25)贪心集锦

https://leetcode-cn.com/problems/jump-game/简单贪心计算当前能到达的最大距离,计算所有满足小于等于最大距离点,是否可以更新最大距离,以此类推到最后一个元素class Solution {public: bool canJump(vector<int>& nums) { int n=nums.size(); int most=1; for(int i=1;i<=n;i++){

2021-06-06 09:09:29 108 2

原创 打卡(24)[好板子]

https://leetcode-cn.com/problems/intersection-of-two-linked-lists/相交链表class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if (headA == nullptr || headB == nullptr) { return nullptr; }

2021-06-06 00:36:04 63

原创 一些需要消化理解的内容链接

关于linux的gcc命令https://www.cnblogs.com/ppeenngg/p/6721067.html

2021-06-05 19:09:42 72

原创 打卡(23)extra

https://leetcode-cn.com/problems/paint-house-iii/这个动态规划,没太想明白,是怎么能想出来这样动态规划的class Solution {public: const int INF = 0x3f3f3f3f; int f[105][25][105]; int minCost(vector<int>& houses, vector<vector<int>>& cost, int m

2021-06-03 22:10:39 70

原创 打卡(23)

今天看过去的题目的时候,发现了一些有趣的小细节。https://leetcode-cn.com/problems/power-of-two/判断是不是2的幂次方,只需要判断是不是10000……0的形式的二进制数就可以了。那么可以简单判断为:class Solution {public: bool isPowerOfTwo(int n) { return (n>0)&&((n-1)&n)==0; }};还是要注意,位运算是低于“==

2021-06-03 20:29:03 46

原创 打卡(22)不你不能

https://leetcode-cn.com/problems/can-you-eat-your-favorite-candy-on-your-favorite-day/前缀和的简单使用,但是为什么我整了那么久都没发现,自己没i++,我吐了啊,以后还是尽可能用for(;;i++),或者for(auto num:nums)这样的话,反正不会再犯这样的错误了吧,哭。必定有一部分时间是用来痛苦的嘛。。class Solution {public: using ll=long long; v

2021-06-02 16:51:35 52

原创 区间DP:基因拼接

5(选做) 基因拼接 (100 分)基因拼接是将不同的DNA片段连接在一起。现有n个DNA片段,从左到右排成一条直线。每次选取相邻的两个DNA片段,拼接成一条更长DNA片段。规定最后1个DNA片段和第1个DNA片段相邻。重复这个过程,直到所有的DNA片段形成一个DNA片段。每次拼接,花费的代价是所选两个DNA片段的长度之和。现在想知道,上述基因拼接,花费的最小代价和最大代价分别是多少。输入格式:第1行,一个整数n,表示DNA片段的个数,1≤n≤200。第2行,n个整数Li,用空格分隔,Li表示第i个

2021-06-02 11:20:24 1339 4

原创 打卡(21)

https://leetcode-cn.com/problems/find-majority-element-lcci/今天晚上本来想看看分支策略,结果看到了一个Boyer-Moore 算法,虽然查了一下,觉得还不算是什么想象中的那个算法,好像是个字符串匹配算法。主要思想就是,相消策略,如果我的数目多的话,就像打仗一样,每次都一换一就算了,反正最后肯定还是我剩下的人多。so,模拟这个过程,就可以。但是这个题目有一个问题在于,可能会出现[1,2,3]这种情况,这样运行下去,会造成选择3,但是结果错误。万

2021-05-31 00:06:50 55

原创 打卡(20)

https://leetcode-cn.com/problems/strange-printer/submissions/最近似乎是动态规划特辑。想到了一个是首尾相同的时候,直接相等,没想到的是不相等的时候要穷举,这样看下来的话,时间复杂度大概是n!级别?抄一下代码,如下:动态规划思想确定了之后,代码书写竟然一时成为了难题。class Solution {public: int strangePrinter(string s) { int n = s.length();

2021-05-24 23:48:23 49

原创 打卡(19)

https://leetcode-cn.com/problems/uncrossed-lines/感觉还是挺有意思的啊,动态规划的题目都是这样。有个dalao说的很透彻,这就是最长公共子序列长度嘛。关于动态规划,多说几句废话的话,一般都是从1开始对i和j进行增加。(PS:表示我意识到这一点了。)class Solution{public: int maxUncrossedLines(vector<int>& nums1,vector<int>& nu

2021-05-23 23:29:55 45

原创 草稿汇编上机

//二路分支设计法; You may customize this and other start-up templates; ; The location of this template is c:\emu8086\inc\0_com_template.txtorg 100h; add your code heredata segment xx1 db 45 yy1 db ? data endscode segment assume cs:code,

2021-05-21 16:31:26 357

原创 汇编笔记example(0)

一个hello world程序汇编8086指令name "hi-world";;(1);NAME 程序开始伪指令;格式:NAME 模块名;汇编语言将以模块名作为模块的名字; this example prints out "hello world!"; by writing directly to video memory.; in vga memory: first byte is ascii character, byte that follows is character attr

2021-05-17 17:22:36 210

原创 botzone snake代码思路整理

现状:目前天梯到了20/343,估计上限是15名左右。PS:代码量在600-800行左右,为什么是“左右”,因为一开始都是用STL写的,用了queue和各种vector,毕竟限时都是一秒,为了增大运算次数。测试之后,一秒内计算次数在10#pragma GCC optimize("O2")#pragma GCC optimize("O3")#pragma GCC optimize("Ofast,no-stack-protector")#pragma GCC optimize("unroll-lo

2021-05-14 00:20:24 2113 4

原创 拜占庭问题与区块链

拜占庭问题  在战争之中,n个将军们包围了一群敌人,并且希望统一行动来攻打敌人保证作战胜利。如果将军们分散进行作战,即没有进行统一的指挥,那么更可能被敌人歼灭。为了保证统一行动,将军们希望通过投票的方式进行决策。如果有多数人决定在某一个时间点进行行动,则将军们将会在此确定的时间统一进攻。   一个将军将会首先对其他各个将军发出信息为“攻打”或者“不攻打”,进而各个将军之间为了保证信息的准确性,将会互相之间进行验证(在此看来更多的是为了保证首发信息将军不为叛徒)。   但是由于相互距离较远,则只能通

2021-04-18 22:58:44 393 3

原创 打卡(18)

https://leetcode-cn.com/problems/longest-common-subsequence/submissions/class Solution {public: int longestCommonSubsequence(string text1, string text2) { const int M=text1.size(); const int N=text2.size(); vector<vector&lt

2021-04-04 12:32:30 57

原创 打卡(17)

https://leetcode-cn.com/problems/set-matrix-zeroes/submissions/这个题目的话,如果看见0就把某个位置变成0,可能输出错误答案。因为你对于数字的替换应当是simultaneously,即是同时替换,否则数字将会相互影响。而人工智能的梯度下降算法,也有一个要求就是simultaneously。所以,应当将状态记录下来。而对于某个位置的数字,他更新的状态是整个行或者列的状态。之所以将原本用于标识状态的O(m*n)的空间变成row(m),col(

2021-03-21 17:07:28 64

原创 打卡(16)+一点点(NULL)蓝桥杯

https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/submissions/虽然逆波兰表达式也不是第一次见到了,但是,还是错在了运算顺序上面。栈对数据的压入,使得数据的顺序发生了颠倒。所以,对于不满足交换律的运算,就会出错。这个错误明显是自己曾经犯过的,没想到还是不长记性,或者就是本身对于栈的理解没有那么深刻。class Solution {public: int cal(int a,int b,string&am

2021-03-20 22:45:11 67

原创 某华科团队的面试题目思路总结

某华科团队的面试题目:总有大佬喜欢以谁谁比自己强,自己是倒数第几来卖弱。现在,班上有n个人,有m个人说自己正排名第aia_{i}ai​,倒数排名第bib_{i}bi​, (存在有些人一样强),那么最多有多少人的话是互不矛盾的。输入样例:30 104 2311 1912 1611 1916 1116 1118 821 618 8输出样例:6数据范围1<=n,m<=10510^51056个人分别为第1,6,7,9的人,和2,4,5中的任意两个人这也算是值得骄傲的一

2021-03-19 17:29:03 211 1

原创 打卡(15)

https://leetcode-cn.com/problems/reverse-linked-list-ii/submissions/这个题目还挺简单,可能只需要注意几个小小问题。头指针当然是一直指向头的,但是这个头,如果在之后进行了交换那么,他就不再是头指针,为了确保头指针的准确性,应当引入一个头前缀指针pre来表示头的前缀。使得最后返回pre->next是绝对正确的。而我似乎对于头指针有着奇怪的执念,逻辑错误让错误沉入水下。class Solution {public: Lis

2021-03-18 20:28:31 71 1

原创 交换版的选择排序与字典序的冲突以及一系列经验积累

寻找前k个满足条件的数据。不需要完全排序,只需要找到前k个。但是按照字典序排列好之后,如果此时使用交换版的选择排序,则可能破坏字典序。这个错误还算是挺隐蔽的。进而造成答案错误。这个时候,最好使用额外空间按照顺序记录下前k个数据。并且用标记位表示是否已经记录。...

2021-03-18 09:27:25 136

原创 打卡(14)

数据结构课上是用逆波兰式写的,然后这个题目由于只要+ -两运算,则可以进行简化。这个题还有点无聊的加上了空字符,如果上来就觉得不好写的话,其实也是自己没有记牢数据结构的知识吧。这个还是读懂的别人的代码,用到了编译原理词法分析。目前还没学,不过看起来他的逻辑是从上到下的,而似乎不是平常的那种思考方式。(建议默写。class Solution {public: long long calculate(string s) { idx = 0,len= s.size();//初

2021-03-14 23:07:50 86

原创 打卡(13)

class Solution {public: string removeDuplicates(string S){//怎么去使用已有的知识真是一个有困难且有意思的事情 string stk; int n=S.size(); for(int i=0;i<n;i++){ if(!stk.empty()&&stk.back()==S[i]){ stk.pop_back();

2021-03-09 11:07:07 82

原创 打卡(12)

class Solution {private: vector<vector<int>> f;//类似于KMP的失败函数 int n;//n代表的是一个n的值 int ans_num; int anstemp=0;public: void dfs(const string& s, int i){ if(i==n){ if(ans_num>anstemp&&anstemp!

2021-03-08 23:32:40 85

原创 打卡(11)

https://leetcode-cn.com/problems/palindrome-partitioning/class Solution {private: vector<vector<int>> f;//类似于KMP的失败函数 vector<vector<string>> ret;//返回的答案 vector<string> ans;//部分答案 int n;//n代表的是一个n的值public:

2021-03-07 22:26:53 77

原创 打卡(10)

https://leetcode-cn.com/problems/next-greater-element-ii/自己写的就是真的太慢了,速度才超过5%,==不过全都是自己写的,就比较有成就感。就是有很多可以剪枝的地方吧,大概。当你确定了前面一个元素他的更大元素在某个位置,那么根据数量关系当前要寻找的元素的更大元素的范围,是可以缩小的,感觉我的代码可能有一些赘余的操作吧,所以就很慢。但是我的空间复杂度是真的小。(得意!都写在了代码里面。class Solution {public: v

2021-03-06 11:23:02 58

原创 打卡(9)

能做的就是体会一下这个类的写法吧,反正其实也没什么用处。用两个栈来实现一个队列。class MyQueue {private: stack<int> inStack, outStack; void in2out() { while (!inStack.empty()) { outStack.push(inStack.top()); inStack.pop(); } }public:

2021-03-05 18:44:58 48

原创 蓝桥杯题目(第一届蓝桥杯国际赛试题)

A仓库布局:数据范围:只需要关心最大值:n最大到达109, m最大到达109则不需要考虑数据范围的问题。只要int就okk代码:#include<bits/stdc++.h>using namespace std;int n,m;int val(){ int k=m-1; int tag=1; if(n%3==0) tag=0; return n/3*k*2+tag*(n%3-1)*k;}int main(){ cin>>n

2021-03-05 11:50:19 421 6

原创 打卡(8)关于位运算

https://leetcode-cn.com/problems/counting-bits/solution/将最后一个1设置为0:证明他还是很简单的,假设一串数据为:x=……1……,1的前面不知道,1的后面都是0,x-1的结果是:x-1=……0……,0的位置与上述1的位置相同,0的前面与上述相同,0的后面都是1,那么进行位运算的时候,你显然可以发现,最终的结果就是x中1前面的数字都不变化,1后面的数字都会变成0(包括1。以及,位运算的时候,下面这一点:i&(i-1)==0实际上是

2021-03-03 12:50:55 48

空空如也

空空如也

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

TA关注的人

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