这个题有点烧脑啊,但是只要想清楚被45整除的数,肯定能被5和9整除,能被9整除的数各位加起来肯定是9的倍数,能被5整除的末尾是0或5. 然后dfs的过程稍微不太好懂,还有几个优化必须要注意.dfs的过程是选出哪些数我们不要,而且不要的数越少越好,所以删除的数在dfs的过程中应该越来越小,这一步必须有,否则超时. 输出的时候也需要注意下0的情况,只能输出一个0,下面是代码 #include <stdio.h> #include <string.h> #include <algo…
这个整除36的与整除45的完全一样,就是被4整除的有点多,但都是两位数,所以枚举后面两位就可以了. #include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; ; ; ][] = { {, }, {, }, {, }, {, }, {, }, {, }, {, }, {, }, {, }, {, }, {, }, {,…
题目链接: FZu Problem 2233 ~APTX4869 题目描述: 给一个n*n的矩阵,(i, j)表示第 i 种材料 和 第 j 种材料的影响值,这个矩阵代表这n个物品之间的影响值.当把这n个物品分成两部分后,每部分内部材料不会相互影响,但是不同部分的材料之间会相互影响.问如何分割使得两部分材料相互之间的最小影响值最大? 解题思路: 材料内部不会影响,那么只需要把影响值小的物品放在同一部分即可,所以用结构体保存物品之间的影响值,然后sort一下,影响值小的物品用并查集放在一个集合,当…
题目链接: FZu  Problem 2236 第十四个目标 题目描述: 给出一个n个数的序列,问这个序列内严格递增序列有多少个?不要求连续 解题思路: 又遇到了用线段树来优化dp的题目,线段树节点里面保存所表达区间里面的方案数.先离散化序列(升序排列),建树,然后按照没有sort前的顺序向线段树里面加点,每次查询小于该数的方案数目+1, 就是当前节点插入进去能影响的方案数目.在线段树对应位置加上新增加的数目即可. #include <cstdio> #include <queue>…
题目是这样的: FZU Problem 2230 象棋翻翻棋(暗棋)中双方在4*8的格子中交战,有时候最后会只剩下帅和将.根据暗棋的规则,棋子只能上下左右移动,且相同的级别下,主动移动到地方棋子方将吃掉对方的棋子.将和帅为同一级别.然而胜负在只剩下帅和将的时候已定. Input 第一行T,表示T组数据. 每组数据共有四行字符串,每行字符串共八个字符 '#'表示空格 '*'表示红方帅 '.'表示黑方将 此时红方先走 每组输入之间没有空行. Output 每组数据输出一行.若为红方赢输出Red wi…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4142 解决:1346 题目描述: 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除. 输入: 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出: 一个整数. 样例输入: 6 10 样例输出: 1 来源: 2011年上海交通大学计算机研究生机试真题 思路: 对a进行因式分解,记录素因子以及个数.计算n!过程中,累加记录的相关素因子个数,直到所有的素因子个数都超过a的素因子个数乘(k…
题目:http://acm.fzu.edu.cn/problem.php?pid=2148 题意:给出n个点,判断可以组成多少个凸四边形. 思路: 因为n很小,所以直接暴力,判断是否为凸四边形的方法是: 如果4个点中存在某个点D,Sabd + Sacd + Sbcd = Sabc,则说明是凹四边形. #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #inc…
题目:http://acm.fzu.edu.cn/problem.php?pid=2140 题意: 题目大意:给出n,要求找出n个点,满足: 1)任意两点间的距离不超过1: 2)每个点与(0,0)点的距离不超过1: 3)有n对点之间的距离刚好为1: 4)n个点组成的多边形面积大于0.5: 5)n个点组成的多边形面积小于0.75: 思路:只要有4个点以上就是,构造时先找出四个点,再在半径为1的圆上找点就行. 很巧妙的一道题目呀.... #include <iostream> #include &…
题目:http://acm.fzu.edu.cn/problem.php?pid=2082 Problem 2082 过路费 Accept: 528    Submit: 1654Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description 有n座城市,由n-1条路相连通,使得任意两座城市之间可达.每条路有过路费,要交过路费才能通过.每条路的过路费经常会更新,现问你,当前情况下,从城市a到城市b最少要花多少过路费.  …
http://acm.fzu.edu.cn/problem.php?pid=2169 题目大意: S王国有N个城市,有N-1条道路.王都为编号1的城市.叛军驻扎在很多城市.除了王都外有K个城市有军队,这K支军队要向王都进军,而且消灭沿途经过的城市中的叛军.每支军队仅仅能沿着道路走,而且是其所在城市与王都之间的最短路线走.问可以消灭多少叛军? 思路: 有两种方法. 注意到题目仅仅有N-1条边.是一颗树. 我想到的是对编号为1的结点(也就是王都,作为跟结点)进行DFS,一直遍历到树叶为止.沿途若发现…