那一天,日照一中夏令营数据结构提高班的同学们终于想起了,被Day2上午的三道题支配的恐惧……   是的..这一天的题有点难想.. 本来打算前天写这篇随笔,然而前天在机房和同学打luogu月赛…… 昨天晚上写着写着睡着了..GG   声明:标程全部来源于GTY哥哥,并非本人所写.     T1:债务 题目描述 小G有一群好朋友,他们经常互相借钱.假如说有三个好朋友A,B,C.A欠B20元,B欠C20元,总债务规模为20+20=40元.小G是个追求简约的人,他觉得这样的债务太繁杂了.他认为,上面的债…
今天的题的确水.T3还是一道NOIP原题. 嘛,多刷点水题也不是什么坏事嘛. 说来也快,夏令营结束了整一星期了呢.大家也都回到了日常的暑假生活呢. 今天学业水平测试出成绩了...嗯结果还算满意呢,至少达到了预期目标. NOIP这边,还要继续努力啊. 还好,这次我找到我的代码了. 除了T3我的代码出了点小意外写炸了..另外两道题我都把我的代码和std都放出来吧... 好了来说一下Day3的题解. T1:十字架 题目描述 小 D 是虔诚的嘟嘟教徒.现在小 G 送他了一幅著名画家芬达奇的作品.这是一幅…
我要是没记错的话,今天的题难度算挺适中的. *标程来自高天宇哥哥 T1:小G的字符串 题目描述 有一天,小 L 给小 G 出了这样一道题:生成一个长度为 n 的.全由小写英文字母构成的字符串,只能使用 k 种字母.要求满足: 字符串中相邻的两个字母不能相同. 必须出现恰好 k 种不同的字母. 这样的合法字符串可能有很多,小 L 让小 G 输出字典序最小的那个. 小 G 太笨啦,不会做这道题,希望你帮帮他. 输入格式 输入文件只有两个数字 n; k,含义如题. 输出格式 输出文件共一行,输出合法的…
Day 1的题难度上来说不算太高,但是T2和T3还是有一定的思维量的. 一个比较好的开始.虽然AK的人只有几个.. (懒得去翻result了..忘了当时拿了多少分了 (哦,前两天我们机房是没有成绩的,我好像忘了这一点.   那么我们直奔主题吧.   T1:删除 文件名 del.cpp/c/pas 输入文件 输出文件 时间限制 空间限制 del.in del.out 1s 512MB 题目描述 现在,我的手上有 n 个数字,分别是 a1, a2, a3, ..., an. 我现在需要删除其中的 k…
昨天因为胡搞了一会儿社团的事情,所以错过(逃过)了nowcoder的测试赛..... 以上,听说还是普及组难度qwq,而且还有很多大佬AK(然而我这么蒻肯定还是觉得有点难度的吧qwq) 不过我还是日常来补一下题解好了qwq T1 数字权重(快速幂) 这个就是你把式子\(\sum_{i=2}^n(a_i-a_{i-1})=K\)展开就是\(a_n-a_1\)嘛...所以就是水题一个qwq 但是要注意因为数据范围比较大,所以我们要有快速幂.而且注意不合法情况的特判qwq #include<iostr…
前话: 话说考试描述:普及难度. 于是想在这场比赛上涨点信心. 考出来的结果:Point:480     Rank:40 然而同机房的最好成绩是 510. 没考好啊!有点炸心态,D题一些细节没有注意,然后B题简单的贪心没有想到,GG-再给我30分钟我能AK! A题:数字权重 题目描述 小a有一个n位的数字,但是它忘了各个位上的数是什么,现在请你来确定各个位上的数字,满足以下条件: 设第i位的数为ai,其中a1为最高位,an为最低位,K为给定的数字 1. 不含前导0 2. 请你求出满足条件的方案数…
T1 动态点分治 就是模拟..... 但是没有过!! 看了题解之后发现.... 坑点:有可能 \(x<=r\),但是…
qwq听说是一场普及组难度的比赛,所以我就兴高采烈地过来了qwq 然后发现题目确实不难qwq.....但是因为蒟蒻我太蒻了,考的还是很差啦qwq orz那些AK的dalao们qwq 赛后闲来无事,弄一篇解题报告好了qwq T1 无序组数 和数学相关的一个题目吧,因为题目的数据范围很小,所以可以先预处理出每个数的约数个数(包括1和它本身) 然后下面自然是\(sum[a]*sum[b]\)减去重复的了qwq 然后重复的话自然是最大公约数的因数个数组合,因为不能重复,那么就是\(sum[gcd(a,b…
最长路 链接: https://www.nowcoder.com/acm/contest/178/A 来源:牛客网 题目描述 有一张 \(n\) 个点 \(m\) 条边的有向图,每条边上都带有一个字符,字符用一个数字表示. 求以每个点为起点的最长路,输出走过的边的字符构成的字符串的字典序最小的方案. 为了方便,你需要这样输出方案: 如果最长路无限长,则输出Infinity 否则假设方案走过的边的字符依次为 \(w_1,w_2,\cdots,w_k\) ,输出\((\sum\limits_{i=1…
题目链接: http://172.16.0.132/senior/#main/show/4668 题目: 题解: 考虑把A数组里的每个元素分解质因数,对于每个质因数开一个vector存一下包含这个质因数的元素对应的这个质因数的指数 我们可以枚举质因数分别处理.为什么时间复杂度是对的呢?因为对于任何一个元素质因数种类是不会很多的,而对于每个质因数我们仅考虑包含它的数而不是全部扫一遍,因而是对的 枚举质因数之后,我们得到它对应的指数序列.对于小于等于根号1e7的质因数,考虑把这个指数序列从小到大,对…
题目链接: http://172.16.0.132/senior/#main/show/5437 题目: 题解: 发现满足上述性质并且仅当A序列的子序列的差分序列与B序列的差分序列相同 于是我们把A变成差分序列,把B变成差分序列,做一次KMP就好了 #include<algorithm> #include<cstring> #include<cstdio> #include<iostream> using namespace std; ; int n,m;…
题目链接: http://172.16.0.132/senior/#main/show/100026 题目: 有一个$n$个点$n$条边的有向图,每条边为$<i,f(i),w(i)>$,意思是$i$指向$f(i)$的边权为$w(i)$的边,现在小A想知道,对于每个点的$s_i$和$m_i$.$s_i$:由$i$出发经过$k$条边,这$k$条边的权值和.$m_i$:由$i$出发经过$k$条边,这$k$条边的权值最小值. 题解: 倍增即可(倍增的套路,转移是唯一的,体现在本题中是每个点出度为1)…
Java编程周末提高班(第一期),走过了近两个月历程,一共同拥有68人次学生周末到老师家进行Java学习与交流.近距离的和一群年轻的学习接触,收获非常多,特别是对以后教学的改进.在学习的闲暇.大家自己做饭,锻炼了厨艺.而今天.还把整个房子打扫.拖地,连我们家那个垃圾桶.拖把桶.洗手液瓶子都擦得干干净净,谢谢 李晓毅.温明玉.杨洁莹.陈思颖四位同学. 老师的收获: (1)了解到了大一新生.大二学生在学习过程中遇到的困难.及解决方案. 合作学习还是未能形成,基本上还是大家各自学习为主. (2)学生编…
数据结构上机测试1:顺序表的应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只能有一个). Input 第一行输入表的长度n:第二行依次…
老段带你学鸟哥Linux视频教程 包含基础班+提高班,附带pdf文档. 目录结构如下: 目录:/-老段带你学鸟哥Linux视频教程 [.9G] ┣━━老段带你学鸟哥-服务器篇 [1009.4M] ┃ ┣━━--.flv [64.8M] ┃ ┣━━--.flv [34.5M] ┃ ┣━━.flv [26.6M] ┃ ┣━━.flv [43.9M] ┃ ┣━━-.flv [28.4M] ┃ ┣━━-.flv [43.4M] ┃ ┣━━-.flv [37.5M] ┃ ┣━━-.flv [44M] ┃…
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合…
题目: P1981跳石头 描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起点和终 点的岩石).在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点.为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳 跃距离尽可能长.由于预算限制,组委会至多从起点和终点之间移走 M 块岩石(不能 移走起点和终点的岩石). 格式 输入格式…
第一次写一套题的解题报告,感觉会比较长.(更新中Loading....):) 题目: 第一题:同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一行,包含两个正整数a, b,用一个空格隔开. 输出格式 输出只有一行,包含一个正整数x0,即最小正整数解.输入数据保证一定有解. 样例1 样例输入1   3 10 样例输出1   7 限制 每个测试点1s 提示 对于40%的数据,2 ≤b≤ 1,000: 对于60%的数据,2 ≤b≤ 50,000,…
我已经将这个学期的所有数据结构上机实验的代码与报告上传到github上了,一直都有这个想法,但没抽出时间来学习git.经过上周简单的练习后,我已经基本学会运营自己的代码仓库了.所有代码都是C++写的类. 这是我的github主页:https://github.com/25thengineer 这是数据结构上机实验的代码与报告:https://github.com/25thengineer/Data-structure-experiments-of-Hefei-University-of-Tech…
A 思路: 一看到这个题,他不仅要求输出字典序最小的串,还要满足两两不重复,所以我们可以先输出ababab...什么的,最后缀上要求的k-2种字母 坑点: 当然这样想是不完全的!该题是拥有许多特殊情况的! 例: ①当n==k的时候(直接从字符‘a’往后面一个一个接着输出就好啦~) ②除去①之后若k==1(即只允许一中字符出现,但是又需要输出多个字符的情况)(直接输出-1) ③当k>n的时候(直接输出-1) ④当k==2的时候(能输出多少对ab就输出几对ab,若不成对的话,倒数第二个输出a,即ab…
A 思路: 一看到'#''.'什么的就想到搜索怪我怪我... 这道题勉强说是搜索别打我qwq 1)因为不重复,所以首先要判断是否%5==0,若不满足,直接输出NO 2)弄个vis数组记录是否被搜过,如果该处是‘#’并且没有被搜索过,就搜索他正下,左下,右下,以及下下是否都为#,若不是,输出NO 3)如果是就进行标记(5个点都进行标记,因为只能使用一次),最终如果成功的渡劫,输出YES 坑点: 搜索下方是x+1而不是x-1(吃亏了qwq) 上代码: #include <algorithm> #i…
导读:本文你将获取到:同/异步 + 阻/非阻塞的性能区别:BIO.NIO.AIO 的区别:理解和实现 NIO 操作 Socket 时的多路复用:同时掌握 IO 最底层最核心的操作技巧. BIO.NIO.AIO 的区别是什么? 同/异步.阻/非阻塞的区别是什么? 文件读写最优雅的实现方式是什么? NIO 如何实现多路复用功能? 带着以上这几个问题,让我们一起进入IO的世界吧. 在开始之前,我们先来思考一个问题:我们经常所说的"IO"的全称到底是什么? 可能很多人看到这个问题和我一样一脸懵…
乐观锁.悲观锁.公平锁.自旋锁.偏向锁.轻量级锁.重量级锁.锁膨胀...难理解?不存的!来,话不多说,带你飙车. 上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问题. 那什么是线程的安全问题呢? 一.线程安全问题的产生 线程安全问题:指的是在多线程编程中,同时操作同一个可变的资源之后,造成的实际结果与预期结果不一致的问题. 比如:A和B同时向C转账10万元.如果转账操作不具有原子性,A在向C转账时,读取了C的余额为20万,然后加上转账的10万,计…
一.概述 在开始学习Thread之前,我们先来了解一下 线程和进程之间的关系: 线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位. 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制. 线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除. 由上描述,可以得知线程作为cpu的基本调度单位,只有把多线程用好,才能充分利用cpu的多核资源. 本文基于JDK 8(也可…
从项目2和项目3中选1题作为实验.剩下2题写成作业. [项目1 - 龙三] 请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为: Name: 龙三 Grade: 19 #include <iostream> #include <string> using namespace std; class Person{ public: Person(string s){ name=s; } void display( ){ cout<<"Name: &q…
scjp test( 在线测试网站):http://scjptest.com/mock-test.xhtml <SCJP Sun® Certified Programmer for Java™ 6 Study Guide>(Exam 310-065)  PDF Java技能回答网站: 无论你遇到什么样的java问题,都可以在这里提问. Enthuware 论坛,关于JAVA考试认证的信息很全面.Enthuware mock exams(收费)   一起其他的SCJP .OCJP资料 工具在:…
反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多.要怎么理解以上这句话,请看下文. 一.反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力.通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义. 1.获取类(Class)对象 获取类对象有三种方法: 通过forName…
导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧! Java中的集合通常指的是Collection下的三个集合框架List.Set.Queue和Map集合,Map并不属于Collection的子集,而是和它平行的顶级接口.Collection下的子集的关系如文章开头图片所示. 本文的重点将会围绕: 集合的使用.性能.线程安全.差异性.源码解读等几个方面进行介绍. 本文涉及的知识点,分为两部分: 第一部分,Collecti…
本文你将获得以下信息: 线程池源码解读 线程池执行流程分析 带返回值的线程池实现 延迟线程池实现 为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节. 一.线程池优点 线程池能够更加充分的利用CPU.内存.网络.IO等系统资源,线程池的主要作用如下: 利用线程池可以复用线程,控制最大并发数: 实现任务缓存策略和拒绝机制: 实现延迟执行 阿里巴巴Java开发手册强制规定:线程资源必须通过线程池提供,如下图…
由于近期模拟题原地**次数较多,故写一篇警示文 1,头文件 1.1正式比赛中,反正我不敢用bits/stdc++.h. 1.2正式比赛中,建议打出以下十个库 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<algorithm> #include<set> #include<m…