1.17

最近在考试,好久没更了,就断断续续写下自己这些天的所思所想吧。

1.19

刚考完试,这几周的压力、负面情绪都挤压了在一起,对职业生涯的焦虑,学自己这学期忙碌而又不是很充实的遗憾、失落,总体给人一个很丧的感觉,但是又不想把自己的负面情绪散播出去,影响到在意我的好友们,过去,我常常在以他人的目光,有时他人的一句话甚至会作为我的情绪的晴雨表,不得不说我以前实在是太玻璃心了。这学期我一直在想,我发朋友圈的目的是为了什么,是为了获得他人的认可吗?是要他人来评价自己吗?这学期来,我尝试过发过几条朋友圈,都是获得比较少赞的,当时我还是比较失落的。在某一个夜晚,我躺在床上翻来覆去睡不着,忽然想到这个问题,相比起高中,我在大学发圈的频率大大上升,在成为班长之后,我结识了更多的人,有时的朋友圈可以有80+的赞,有时也寥寥无几。这时我突然回忆起我高考完和Sam的一次通话,"其实吧,我发朋友圈是为了记录生活,不管别人赞不赞,开心的是自己",想到这里,突然豁然开朗。

1.20

其实我知道自己一直有轻微的抑郁,心理方面有时会表现得很病态,一直找不到一种解脱的方式,自己写博客,就当是一种泄愤的方式,一种自我治疗吧。我的个人兴趣爱好和很多人表现得不一样,特别是行为方式上,有一些人格格不入,我们相互不能理解对方。有时我打开音乐播放器,点击纯音乐,查看评论,发现原来这个世界上还是有那么一群人和我有着相同的感受,无言却胜千言,不同人有着不同的经历,在外人看来,你可能就是矫情,可他没经历过,那就让他说去吧。

1.21 今早很早就醒了,大概六点,继续沿着昨天的思绪,回忆整个高三越来越发现我和Sam太像了,相似的经历,相近的行为作风、性格,真的很高兴能在高三与你做朋友、共同进步,在学习和生活上,我们相互较劲,有不好的情绪,我们相互倾诉。

其实高三我还想感谢潘,你的出现,让我感到了前所未有的压力,当然是在认识她之后。整个高三,我都是以你为目标,不断想超越你,在球场上,有一半时间都是我去防你,一想到她,我就防的更积极,也有很多时候我主攻你。尽管我高三这样做在外人看起来真的好变态,高考完那个晚上,我也这样认为[facepalm],我高考完回到教室,对你说的那一声谢谢,让我的高三得到了解脱,尽管我们以后可能不会再有交集,但还是真的很感谢你!

1.22 今日大学城寒招队伍碰面,新认识了许多有趣的小伙伴,个个都是人才,说话又好听(滑稽)。吹完水后,又与Sam相约大学城,把整个华师校区都骑了一遍,才发觉,这才是我高考前梦中隐约出现大学该有的样子(这里没有黑南海),有人曾和我说过,有机会要去别的大学,甚至是本学校的其他校区看看,对比了石牌,大学城和华工五山,果然越好的大学,对于校园环境、设施的建设总是做的比较好的,这就不难解释为什么中国营造着拼了命要考上好大学的氛围。图书馆,教学楼,各学院院楼,阳光映射在人工湖上,在轻微的波澜中,透过竹林,鱼鳞般阳光的碎隙格外显眼……

1.23

Read more »

//二分查找判断某个元素是否在序列里
long search(int a[],int low,int high,int k){
    if(low <= high){
        int mid = low + (high - low) / 2;
        if(k == a[mid]){
            return 1;//找到了返回1
        }else if(a[mid] > k){
//比中值小在左边找            
            return search(a, low, mid - 1, k);
        }else{
//比中值大在右边找            
            return search(a, mid + 1, high, k);
        }
    }
    return 0;
//如果都找不到默认返回0    
}
//oj的题目是给定长度为n的不下降序列,做m个询问
//1.从左逼近(直接丢函数包)
long fun(long a[],long low,long high,long key)
{
    int mid = low + (low + high) / 2;
    if(low <= high){
        if(a[mid] < key){
//在右边查找            
            return fun(a, mid + 1, high, key);
        }
        if(a[mid] > key){
//在左边查找            
            return fun(a, low, mid - 1, key);
        }
        else{
/*如果找到目标元素,判断有无重复,有的话取最大下标*/
            while(mid>=0){
                if(a[mid]!=key){
                    break;
                }
                mid++;
            }
        }
    }
    return mid;
}
//二分查找(从右逼近)
long fun(int a[],int target ,int temp)
{
    int low = 0, high = target, int temp, mid;
    while(low < high){
        mid = (low + high) / 2;
        if(a[mid] == taret){
            high = mid;
        }
        else if(a[mid] > target){
            high = mid;
        }else{
            low = mid + 1;
        }
    }
    if(a[temp] < target){
        return temp + 2;
    }
    /*这里是来区分有没有找到目标值,只要从始至终都没有找到目标
    元素,返回n+2*/
    return low + 1;
}
/*计算包含再给定区间里的序列数值的个数*/
#include<iostream>
#include<cstdlib>
#include<algorithm>
using namespace std;
//这里输入的序列是不按照顺序的
int left(int a[], int target, int temp) {
	int low = 0, high = temp;
	int mid;
//左端不断向右边逼近    
	while (low < high) {
		mid = (low + high) / 2;
		if (a[mid] == target) {
			low = mid + 1;
		}else if (a[mid] < target) {
			low = mid + 1;
		}
		else if (a[mid] > target) {
			high = mid;
		}
	}
	return low;
}
int right(int a[], int target, int temp) {
	int low = 0, high = temp;
	int mid;
//右端不断向左端逼近    
	while (low < high) {
		mid = (low + high) / 2;
		if (a[mid] == target) {
			high = mid;
		}
		else if (a[mid] > target) {
			high = mid;
		}
		else if (a[mid] < target) {
			low = mid + 1;
		}
	}
	return low;
}

int main()
{
	int i, j, k, n, m, p, q;
	cin >> n >> m;
//n表示有几个数字,m表示要输入几组数字
	int* a = (int*)malloc(n * sizeof(int));
	for (i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a, a + n);
	for (j = 0; j < m; j++) {
		cin >> p >> q;//p<=q,p是左区间,q是右区间
		cout << left(a, q, n) - right(a, p, n) << endl;
/*left把n不断往左靠,使得右边界逼近q,right把p不断右移,
不断逼近右边界*/
	}
	free(a);
}
/*排完序后再放进函数里,left的作用:
对比左数和序列里的每一个数,返回小于p的数的序号
right是让q与序列的数比较,返回大于q的序号
然后大减小就得到了区间里包含的数*/
Read more »

花了两周整理链表的相关知识

以一个主函数和多个函数的形式来呈现

/*链表合集*/
#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct node{
    int a;
    struct node *next;
} Node;
//排序
void Sort(Node*head){
    node *p, *s, *pt;
    p = head;
    s = p->next;
    while (p->next != NULL){
        while(s->next != NULL){
            if(p->next > s->next){
                pt->next = p->next;
                p->next = s->next;
                s->next = pt->next;
            }
            s = s->next;
        }
        p = p->next;
        pt = s;
    }
}

Node *add(Node*head,int num){//在表尾插入元素
    Node *p = NULL, *pr = head;
    p = (Node *)malloc(sizeof(Node));
    if(p == NULL){
        cout << "no enough memory to allocate";
    }
    if(head == NULL){
        head = p;
    }else{
        while(pr->next != NULL){
            pr = pr->next;
        }
        pr->next = p;
    }
    p->a = num;
    p->next = NULL;
    return head;
}
//打印链表
void show(Node*head){
    Node *p = head;
    while(p != NULL){
        cout << p->a << " ";
        p = p->next;
    }
}

void del(Node*head){//释放申请的内存空间
    Node *p = head, *pr = NULL;
    while(p != NULL){
        pr = p;
        p = p->next;
        free(pr);
    }
}
//删除链表里某一个节点
Node* Delete(Node*head,int num){
    Node *p = head, *pr = head;
    //pr是目标元素前一个节点
    if(head == NULL){
        cout << "empty table";
        return head;//空表退出
    }
    while(num != p->a && p->next != NULL){
        //未找到且不是空表
        pr = p;
        p = p->next;//p直接指向当前节点的下一节点
    }
    if(num == p->a){//找到了待删除节点
        if(p == head){
            head = p->next;//直接让头指针指向待删除结点p的下一节点
        }else{
            pr->next = p->next;
            //前一节点的指针域指向待删除结点的下一节点
        }
        free(p);
    }else{//到表尾且没找到
        cout << "not found";
    }
    return head;
}
//在链表里插入元素
Node* insert(Node*head,int num){
    Node *pr = head, *p = head, *temp = NULL;
    p = (Node *)malloc(sizeof(Node));
    if(p == NULL){
        cout << "no enough memory";
        exit(0);
    }
    p->next = NULL;//待插入节点指针域为空指针
    p->a = num;//待插入节点的数值域为num
    if(head == NULL){
        head = p;//若原链表为空表,待插入节点为头节点
    }else{//若为非空
    //若未找到待插入节点的位置且未找到表尾则继续找
        while(pr->a < num && pr->next != NULL){
            temp = pr;//temp保存当前节点的下一节点
            pr = pr->next;//pr指向当前节点的下一节点
        }
        if(pr->a >= num){
            if(pr == head){//若在头节点前插入新节点
                p->next = head;
            //将新节点的指针域指向原链表的头节点
                head = p;//让head指向新节点
            }else{//在链表中部插入新节点
            //进行排序
                pr = temp;
                p->next = pr->next;
                pr->next = p;
            }
        }else{//若在表尾插入新节点
            pr->next = p;//让末节点的指针域指向新节点
        }
    }
    return head;//返回插入新节点猴的链表头指针head的值
}

int main()
{
    int num;
    char ch;
    struct node *head = NULL;
    do{
        cin >> num;
        if(num >= 0){
            head = add(head, num);
            show(head);
        }
        if(num % 5 ==0){
            cout << "continue?(y/n)";
            cin >> ch;
            if((ch == 'n') || (ch == 'N')){
                break;
            }
        }//避免死循环
    } while (num >= 0);
    del(head);
}
Read more »

年报

2020是奇幻的一年,犹记得刚放寒假时,就听到了科比不幸逝世的噩耗,心里为之震撼,然后就是牵动全国人民的心的新冠疫情,总的来说,我的上半年并没有很认真,没有做到最好,所幸,还有老番茄和何无空的大学的开挂之旅激励着我。

进入大学后,首先要感谢世豪师兄,他把我点上台唱歌[Facepalm],开启了我大学的奇幻之旅,先是军训时的连队负责人(算半个),然后到军训合唱团的指挥,不断尝试新事物。军训期间面试了两个组织部门,都没过一面,让我开始反思自己。军训后,面试了三个组织部门,都过了一面,再三考虑,还是选择了软件协会,然而我的二面经历是坎坷的,让我想不到的是,二面居然玩剧本杀,让我提前体验到社会的险恶,其他同学都有着自己的小心思,各种尔虞我诈,我被各种骗得团团转,最后应该是靠着嘴皮子功夫进了信宣部吧(逃)。大学竞选班长兼团支书,让我体验到了前所未有的忙。然后就是接下来的各种活动,班长嘛,肯定要第一个上的,于是我就担任了主持人,负责人,运动员,班赛球队队员,摄影师(虽然也没拍多少照),文案撰写等,以至于其他班班长说9班班长是"全能班长"[Facepalm],渐渐地我也开始摸索出一条摸鱼(划掉)高效率的工作模式,这样下来,确实腾出了许多时间。当了班长,就要有很多次上台发言、向其他班展示的情况,我企图在这些环节来改善我语速过快的缺点,但是我太天真了,效果甚微,还是只能从最基本的读书做起[Hurt]。加入了一个部门,认识了很多大佬,活也不多(划掉),工作分配很合理,真正意义上接触了公众号,了解了公众号的一些基本信息(后来发现部门的男生就我不知道这些[Hurt]),总的来说,在这个部门还是很快乐的。回望这三个月,因为当了班长,我很多时间被占用了,包括周末用来打球的时间,全部被分配去收集、整理、填写资料,但有个好处是,我终于不会那么闲了,一闲下来就不知道要干什么,还有ddl的出现,让我提高了办事效率[Hurt]。大学里进行了多次团建,让我印象最深刻的一次是整个软协出去团建,当时只有我傻乎乎地说要骑单车回去,结果没想到mobike在佛山的运营区域还是分开的,当时我心急如焚找不到下策,只好乖乖等公车,所幸,都搭上了末班车,也算是给自己一次教训。这学期里认识了好多有趣的人,包括其他班的班长以及其他部门的人,他们都说自己是蒟蒻,结果我发现只有我才是蒟蒻[Hurt]。

在过去一年里,我总是太在意别人的看法,经常因为别人一句话而彻夜不眠,今年,忘却昨日的功与过,踏踏实实做好一个班长,认认真真写好每一篇信宣推文,多参加比赛,让自己的大一不留遗憾。

2021我也不立那么多flag,以前立的就没拔出过几个,2021就不立了,好好学习,朝着藏在自己心里的那个目标继续前进!

Read more »

纪念我的第一个小项目--个人博客,也当作昨日迟来的平安夜礼物q(≧▽≦q)

Read more »