JSOI2015 一轮省选 个人题解与小结】的更多相关文章

T1: 题目大意:现有一个以1为根节点的树,要求从1开始出发,经过下面的点然后最终要回到根节点.同时除了根节点之外各点均有一个权值(即受益,每个点上的收益只能拿一次,且经过的话必须拿),同时除了根节点外各点均有一个经过次数的限制,要求求出来从根节点出发回到根节点的最终受益总和的最大值,以及这个最大值是否存在多种方式可以做到(单纯的访问顺序不同算一种) 题解:很明显的树状DP,关于每一个节点均转移一下,取最前面的一些(注意出现负数的话不管怎么样直接无视,但是0不要直接扔),然后再取最大的求和即可(…
CSP-J/S 第一轮知识点选讲 转载自这里 感谢原博主的大力整理! 信息学史及基本知识 一.信息学及计算机史 计算机的顶级奖项:图灵奖.冯·诺依曼奖 图灵奖:由ACM(美国计算机协会)设立于1966年.是"计算机界的诺贝尔奖". 冯·诺依曼奖:由IEEE设立. 对信息科学做出突出贡献的大神:图灵(所以才有个奖),冯 · 诺伊曼 中国获图灵奖的大神:姚期智(清华就有姚班,就是以他的名字命名的) 世界第一台电子计算机:埃尼阿克(\(ENIAC\)),于1946年2月14日(够虐狗的)在美…
题目链接:https://www.luogu.com.cn/problem/P1036 题目描述 已知 \(n\) 个整数 \(x_1,x_2,-,x_n\) ,以及 \(1\) 个整数 \(k(k<n)\) . 从 \(n\) 个整数中任选 \(k\) 个整数相加,可分别得到一系列的和. 例如当 \(n=4,k=3\) , \(4\) 个整数分别为 \(3,7,12,19\) 时,可得全部的组合与它们的和为: \(3+7+12=22\) \(3+7+19=29\) \(7+12+19=38\)…
[我是传送门] 这是一道很经典的深搜与回溯(难度一般) 可是就这个"普及-" 让本蒟蒻做了一晚上+半个上午(实际我不会深搜回溯,全靠框架+去重); 下面让我分享下本蒟蒻的(全排列+暴搜去重) #include<bits/stdc++.h> using namespace std; int n,r,ttt;//n是总数,r是选的数,ttt是答案 ],b2[],c[][];//a用来储存排列的编号,b2用来储存输入的数,c用来去重(储存符合条件的数组的编号) ];//用来判断是…
http://www.lydsy.com/JudgeOnline/problem.php?id=3930 https://www.luogu.org/problemnew/show/P3172#sub 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公约数,以便进一步研究.然而他很快发现工作量太大了,于是向你寻求帮助.你的任务很简单,小z会告诉你一个整数K,你需要回答他最…
此题解是教练给我的作业,AK了本场比赛的人,以及认为题目简单的人可以不必看 T1 算法一 暴力枚举对信号站顺序的不同排列,然后对代价取\(\min\)即可. 时间复杂度\(O(m! \cdot n)\),可以获得\(30\)分. 算法二 首先我们的想法是状压dp,而状压dp所记录的状态是某个位置前面所选择的信号站集合以及当前加入的信号站编号,我们需要把答案的每一项的贡献分配到dp的不同阶段! 我们设最终的排列里面编号为\(i\)的信号站在第\(p_i\)个位置. 对于\(1 \leq i < n…
题目链接https://www.luogu.org/problemnew/show/P1036 题目描述 已知 nnn 个整数 x1,x2,-,xnx_1,x_2,-,x_nx1​,x2​,-,xn​ ,以及 111 个整数 kkk ( k<nk<nk<n ).从 nnn 个整数中任选 kkk 个整数相加,可分别得到一系列的和.例如当 n=4,k=3n=4,k=3n=4,k=3 , 444 个整数分别为 3,7,12,193,7,12,193,7,12,19 时,可得全部的组合与它们的和…
每日一题 day8 打卡 Analysis 背包+离散化 这题是我们一次模拟赛的T2,结果我的暴力全TLE了. 关键是如果将两个因数的乘积离散化在因数数组中之后等于这个乘积本身,说明a[j]*in离散化之后的下表可以通过+=ans[j]来计算 然后就可以愉快地dp啦~~~ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 1000+10…
Day1: 第一题:裸地二分+网络流:二分答案,连接将每行每列拆成点,对于满足答案的格子行列连边,看是否流量是否大于t即可,可惜第k大看成了第k小,然后100分就没了. 第二题:倍增,考虑贪心算法,就是考虑选了当前的线段,下一次选的必定是左端点小于当前右端点,右端点尽量靠后的线段,因此在化环为链后,预处理每一个线段的后继状态,当我门选了一条线段后,剩下的选择一定按照刚才的思路选择,所以像lca一样倍增处理每个线段跳2^i次后的位置,对于每一个询问,O(logn)时间向后跳直到覆盖所有区间. 第三…
A: Adjustment Office 题意:在一个n*n的矩阵,每个格子的的价值为 (x+y), 现在有操作取一行的值,或者一列的值之后输出这个和, 并且把这些格子上的值归0. 题解:模拟, 分成xy轴就好了. 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("adjustment.in","r",stdin); freopen("adjustme…