返利是指公司间应收款项按一定比率的返还给客户。返利开发实质就是实现对应收发票的更改和新增(暂时我的理解)

一.对发票行更改

PACKAGE AP_INVOICE_LINES_ALL_PRIVATE IS
PROCEDURE INSERT_ROW (X_LINE_NUM OUT NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER);
PROCEDURE UPDATE_ROW (P_LINE_NUM IN NUMBER,P_INVOICE_ID IN NUMBER,P_ORG_ID IN NUMBER);
END;
PACKAGE BODY AP_INVOICE_LINES_ALL_PRIVATE IS
PROCEDURE INSERT_ROW (X_LINE_NUM OUT NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER)IS
v_row_id VARCHAR2(1000);
v_line_number number;
g_user_id CONSTANT NUMBER := fnd_global.user_id;
g_login_id CONSTANT NUMBER := fnd_global.conc_login_id;
g_request_id CONSTANT NUMBER := fnd_global.conc_request_id;
g_prog_appl_id CONSTANT NUMBER := fnd_global.prog_appl_id;
g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
x_ccid number;
V_AMOUNT NUMBER;
BEGIN
select max(NVL(line_number,0))
into v_line_number
from AP_INVOICE_LINES_ALL
where invoice_id = :parameter.G_INVOICE_ID;
X_LINE_NUM := v_line_number + 1;
cux_cuxaprebate_utl.create_account(p_org_id =>:parameter.g_org_id,
p_ccid =>:parameter.G_CCID,
x_ccid =>x_ccid);
IF P_FLAG = 'CANCEL' THEN
V_AMOUNT := P_AMOUNT;
ELSIF P_FLAG = 'APPLY' THEN
V_AMOUNT := - P_AMOUNT;
END IF;
/*mo_global.init('AP');
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => :parameter.g_org_id);--mo_global.get_current_org_id*/
ap_ail_table_handler_pkg.insert_row(p_rowid => v_row_id,
p_invoice_id => :parameter.G_INVOICE_ID,
p_line_number => X_LINE_NUM,
p_line_type_lookup_code => 'MISCELLANEOUS',--杂项
p_line_group_number => NULL,
p_requester_id => NULL,
p_description => NULL,
p_line_source => NULL,
p_org_id => NULL,
p_inventory_item_id => NULL,
p_item_description => NULL,
p_serial_number => NULL,
p_manufacturer => NULL,
p_model_number => NULL,
p_warranty_number => NULL,
p_generate_dists => NULL,
p_match_type => NULL,
p_distribution_set_id => NULL,
p_account_segment => NULL,
p_balancing_segment => NULL,
p_cost_center_segment => NULL,
p_overlay_dist_code_concat => NULL,
p_default_dist_ccid => x_ccid,--ccid
p_prorate_across_all_items => NULL,
p_accounting_date => :parameter.G_GL_DATE,--gl_date
p_period_name => NULL,
p_deferred_acctg_flag => NULL,
p_def_acctg_start_date => NULL,
p_def_acctg_end_date => NULL,
p_def_acctg_number_of_periods => NULL,
p_def_acctg_period_type => NULL,
p_set_of_books_id => :parameter.G_SET_OF_BOOKS_ID,--
p_amount => V_AMOUNT,--金额
p_base_amount => NULL,
p_rounding_amt => NULL,
p_quantity_invoiced => NULL,
p_unit_meas_lookup_code => NULL,
p_unit_price => NULL,
p_wfapproval_status => 'NOT REQUIRED',--
p_discarded_flag => NULL,
p_original_amount => NULL,
p_original_base_amount => NULL,
p_original_rounding_amt => NULL,
p_cancelled_flag => NULL,
p_income_tax_region => NULL,
p_type_1099 => NULL,
p_stat_amount => NULL,
p_prepay_invoice_id => NULL,
p_prepay_line_number => NULL,
p_invoice_includes_prepay_flag => NULL,
p_corrected_inv_id => NULL,
p_corrected_line_number => NULL,
p_po_header_id => NULL,
p_po_line_id => NULL,
p_po_release_id => NULL,
p_po_line_location_id => NULL,
p_po_distribution_id => NULL,
p_rcv_transaction_id => NULL,
p_final_match_flag => NULL,
p_assets_tracking_flag => NULL,
p_asset_book_type_code => NULL,
p_asset_category_id => NULL,
p_project_id => NULL,
p_task_id => NULL,
p_expenditure_type => NULL,
p_expenditure_item_date => NULL,
p_expenditure_organization_id => NULL,
p_pa_quantity => NULL,
p_pa_cc_ar_invoice_id => NULL,
p_pa_cc_ar_invoice_line_num => NULL,
p_pa_cc_processed_code => NULL,
p_award_id => NULL,
p_awt_group_id => NULL,
p_pay_awt_group_id => NULL, --NUMBER,--bug6639866
p_reference_1 => NULL,
p_reference_2 => NULL,
p_receipt_verified_flag => NULL,
p_receipt_required_flag => NULL,
p_receipt_missing_flag => NULL,
p_justification => NULL,
p_expense_group => NULL,
p_start_expense_date => NULL,
p_end_expense_date => NULL,
p_receipt_currency_code => NULL,
p_receipt_conversion_rate => NULL,
p_receipt_currency_amount => NULL,
p_daily_amount => NULL,
p_web_parameter_id => NULL,
p_adjustment_reason => NULL,
p_merchant_document_number => NULL,
p_merchant_name => NULL,
p_merchant_reference => NULL,
p_merchant_tax_reg_number => NULL,
p_merchant_taxpayer_id => NULL,
p_country_of_supply => NULL,
p_credit_card_trx_id => NULL,
p_company_prepaid_invoice_id => NULL,
p_cc_reversal_flag => NULL,
p_creation_date => sysdate,
p_created_by => g_user_id,
p_last_updated_by => g_user_id,
p_last_update_date => sysdate,
p_last_update_login => g_login_id,
p_program_application_id => NULL,
p_program_id => NULL,
p_program_update_date => sysdate,
p_request_id => NULL,
p_attribute_category => NULL,
p_attribute1 => NULL,
p_attribute2 => NULL,
p_attribute3 => NULL,
p_attribute4 => NULL,
p_attribute5 => NULL,
/* p_attribute6 VARCHAR2 DEFAULT NULL,
p_attribute7 VARCHAR2 DEFAULT NULL,
p_attribute8 VARCHAR2 DEFAULT NULL,
p_attribute9 VARCHAR2 DEFAULT NULL,
p_attribute10 VARCHAR2 DEFAULT NULL,
p_attribute11 VARCHAR2 DEFAULT NULL,
p_attribute12 VARCHAR2 DEFAULT NULL,
p_attribute13 VARCHAR2 DEFAULT NULL,
p_attribute14 VARCHAR2 DEFAULT NULL,
p_attribute15 VARCHAR2 DEFAULT NULL,
p_global_attribute_category VARCHAR2 DEFAULT NULL,
p_global_attribute1 VARCHAR2 DEFAULT NULL,
p_global_attribute2 VARCHAR2 DEFAULT NULL,
p_global_attribute3 VARCHAR2 DEFAULT NULL,
p_global_attribute4 VARCHAR2 DEFAULT NULL,
p_global_attribute5 VARCHAR2 DEFAULT NULL,
p_global_attribute6 VARCHAR2 DEFAULT NULL,
p_global_attribute7 VARCHAR2 DEFAULT NULL,
p_global_attribute8 VARCHAR2 DEFAULT NULL,
p_global_attribute9 VARCHAR2 DEFAULT NULL,
p_global_attribute10 VARCHAR2 DEFAULT NULL,
p_global_attribute11 VARCHAR2 DEFAULT NULL,
p_global_attribute12 VARCHAR2 DEFAULT NULL,
p_global_attribute13 VARCHAR2 DEFAULT NULL,
p_global_attribute14 VARCHAR2 DEFAULT NULL,
p_global_attribute15 VARCHAR2 DEFAULT NULL,
p_global_attribute16 VARCHAR2 DEFAULT NULL,
p_global_attribute17 VARCHAR2 DEFAULT NULL,
p_global_attribute18 VARCHAR2 DEFAULT NULL,
p_global_attribute19 VARCHAR2 DEFAULT NULL,
p_global_attribute20 VARCHAR2 DEFAULT NULL,
p_primary_intended_use VARCHAR2 DEFAULT NULL,
p_ship_to_location_id NUMBER DEFAULT NULL,
p_product_fisc_classification VARCHAR2 DEFAULT NULL,
p_user_defined_fisc_class VARCHAR2 DEFAULT NULL,
p_trx_business_category VARCHAR2 DEFAULT NULL,
p_product_type VARCHAR2 DEFAULT NULL,
p_product_category VARCHAR2 DEFAULT NULL,
p_assessable_value NUMBER DEFAULT NULL,
p_control_amount NUMBER DEFAULT NULL,
p_tax_regime_code VARCHAR2 DEFAULT NULL,
p_tax VARCHAR2 DEFAULT NULL,
p_tax_status_code VARCHAR2 DEFAULT NULL,*/
p_tax_rate_code => 'CN_VAT_IN_17',
/* p_tax_rate_id NUMBER DEFAULT NULL,
p_tax_rate NUMBER DEFAULT NULL,
p_tax_jurisdiction_code VARCHAR2 DEFAULT NULL,
p_purchasing_category_id NUMBER DEFAULT NULL,
p_cost_factor_id NUMBER DEFAULT NULL,
p_retained_amount NUMBER DEFAULT NULL,
p_retained_invoice_id NUMBER DEFAULT NULL,
p_retained_line_number NUMBER DEFAULT NULL,
p_tax_classification_code VARCHAR2 DEFAULT NULL,*/
p_calling_sequence => NULL);
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.DEBUG('给应付发票行插值时出现错误 : '||SQLERRM);
raise form_trigger_failure;
END; PROCEDURE UPDATE_ROW (P_LINE_NUM IN NUMBER,P_INVOICE_ID IN NUMBER,P_ORG_ID IN NUMBER)IS
V_AMOUNT NUMBER;
BEGIN
-- fnd_message.debug('@@@P_LINE_NUM'||P_LINE_NUM);
-- fnd_message.debug('@@@P_INVOICE_ID'||P_INVOICE_ID);
SELECT AMOUNT
INTO V_AMOUNT
FROM AP_INVOICE_LINES_ALL
WHERE INVOICE_ID = P_INVOICE_ID
-- AND (ORG_ID = P_ORG_ID or ORG_ID is null)
AND LINE_NUMBER = P_LINE_NUM
FOR UPDATE NOWAIT; UPDATE AP_INVOICE_LINES_ALL
SET AMOUNT = 0
WHERE INVOICE_ID = P_INVOICE_ID
-- AND ORG_ID = P_ORG_ID
AND LINE_NUMBER = P_LINE_NUM;
--commit;
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.DEBUG('更新发票行时出现错误 : '||SQLERRM);
raise form_trigger_failure;
END;
END;

二.对发票分配行更改

PACKAGE AP_DISTRIBUTIONS_PRIVATE IS
PROCEDURE INSERT_ROW (P_LINE_NUM IN NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER,p_invoice_id in number);
END;
PACKAGE BODY AP_DISTRIBUTIONS_PRIVATE IS
PROCEDURE INSERT_ROW (P_LINE_NUM IN NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER,p_invoice_id in number)IS
v_row_id VARCHAR2(1000);
v_line_number NUMBER;
g_user_id CONSTANT NUMBER := fnd_global.user_id;
g_login_id CONSTANT NUMBER := fnd_global.conc_login_id;
g_request_id CONSTANT NUMBER := fnd_global.conc_request_id;
g_prog_appl_id CONSTANT NUMBER := fnd_global.prog_appl_id;
g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
x_ccid number := 0;
p_invoice_distribution_id NUMBER;
V_period_name VARCHAR2(100);
X_DIS_LINE_NUM NUMBER;
V_AMOUNT NUMBER;
BEGIN
-- fnd_message.debug(' SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) P_LINE_NUM:'||P_LINE_NUM);
SELECT nvl(MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)),0)
INTO v_line_number
FROM AP_INVOICE_DISTRIBUTIONS_ALL
WHERE invoice_id = p_invoice_id
AND invoice_line_number = P_LINE_NUM; X_DIS_LINE_NUM := v_line_number + 1;
-- fnd_message.debug(' SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) v_line_number:'||v_line_number);
-- fnd_message.debug(' SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) X_DIS_LINE_NUM:'||X_DIS_LINE_NUM);
V_period_name := cux_gl_public_pkg.get_period_name(p_org_id =>:parameter.g_org_id,
p_gl_date =>:parameter.G_GL_DATE);
cux_cuxaprebate_utl.create_account(p_org_id =>:parameter.g_org_id,
p_ccid =>:parameter.G_CCID,
x_ccid =>x_ccid);
SELECT ap_invoice_distributions_s.nextval INTO p_invoice_distribution_id FROM DUAL; IF P_FLAG = 'CANCEL' THEN
V_AMOUNT := P_AMOUNT;
ELSIF P_FLAG = 'APPLY' THEN
V_AMOUNT := - P_AMOUNT;
END IF;
mo_global.init('AR');
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => :parameter.g_org_id);--:parameter.g_org_id--mo_global.get_current_org_id
ap_aid_table_handler_pkg.insert_row(p_rowid => v_row_id,
p_invoice_id => p_invoice_id,
p_invoice_line_number => P_LINE_NUM,--行上的信息
p_distribution_class => null,
p_invoice_distribution_id => p_invoice_distribution_id,
p_dist_code_combination_id => x_ccid,--ccid
p_last_update_date => SYSDATE,
p_last_updated_by => g_user_id,
p_accounting_date => sysdate,--gl date
p_period_name => V_period_name,
p_set_of_books_id=> :parameter.G_SET_OF_BOOKS_ID,
p_amount => V_AMOUNT,--金额
p_description => null,
p_type_1099 => null,
p_posted_flag => null,
p_batch_id => null,
p_quantity_invoiced => null,
p_unit_price => null,
p_match_status_flag => null,
p_attribute_category => null,
p_attribute1 => null,
p_attribute2 => null,
p_attribute3 => null,
p_attribute4 => null,
p_attribute5 => null,
p_prepay_amount_remaining => null,
p_assets_addition_flag => 'U',
p_assets_tracking_flag => 'N',
p_distribution_line_number => X_DIS_LINE_NUM,--v_line_number + 1,--
p_line_type_lookup_code => 'MISCELLANEOUS',--杂项
p_po_distribution_id => null,
p_base_amount => null,
p_pa_addition_flag => null,
p_posted_amount => null,
p_posted_base_amount => null,
p_encumbered_flag => null,
p_accrual_posted_flag => null,
p_cash_posted_flag => null,
p_last_update_login => null,
p_creation_date => null,
p_created_by => null,
p_stat_amount => null,
p_attribute11 => null,
p_attribute12 => null,
p_attribute13 => null,
p_attribute14 => 'N',
p_attribute6 => null,
p_attribute7=> null,
p_attribute8 => null,
p_attribute9 => null,
p_attribute10 => null,
p_attribute15 => 'Y',
p_accts_pay_code_comb_id => null,
p_reversal_flag => null,
p_parent_invoice_id => null,
p_income_tax_region => null,
p_final_match_flag => null,
-- Removed for bug 4277744
-- p_Ussgl_Transaction_Code VARCHAR2,
-- p_Ussgl_Trx_Code_Context VARCHAR2,
p_expenditure_item_date => null,
p_expenditure_organization_id => null,
p_expenditure_type => null,
p_pa_quantity => null,
p_project_id => null,
p_task_id => null,
p_quantity_variance => null,
p_base_quantity_variance => null,
p_packet_id => null,
p_awt_flag => null,
p_awt_group_id => null,
p_pay_awt_group_id => null, --bug6639866
p_awt_tax_rate_id => null,
p_awt_gross_amount => null,
p_reference_1 => null,
p_reference_2 => null,
p_org_id => :parameter.g_org_id,--------------------------------
p_other_invoice_id => null,
p_awt_invoice_id => null,
p_awt_origin_group_id => null,
p_program_application_id => null,
p_program_id => null,
p_program_update_date => null,
p_request_id => null,
p_tax_recoverable_flag => null,
p_award_id => null,
p_start_expense_date => null,
p_merchant_document_number => null,
p_merchant_name => null,
p_merchant_tax_reg_number => null,
p_merchant_taxpayer_id => null,
p_country_of_supply => null,
p_merchant_reference => null,
p_parent_reversal_id => null,
p_rcv_transaction_id => null,
p_matched_uom_lookup_code => null,
/* p_global_attribute_category VARCHAR2 DEFAULT NULL,
p_global_attribute1 VARCHAR2 DEFAULT NULL,
p_global_attribute2 VARCHAR2 DEFAULT NULL,
p_global_attribute3 VARCHAR2 DEFAULT NULL,
p_global_attribute4 VARCHAR2 DEFAULT NULL,
p_global_attribute5 VARCHAR2 DEFAULT NULL,
p_global_attribute6 VARCHAR2 DEFAULT NULL,
p_global_attribute7 VARCHAR2 DEFAULT NULL,
p_global_attribute8 VARCHAR2 DEFAULT NULL,
p_global_attribute9 VARCHAR2 DEFAULT NULL,
p_global_attribute10 VARCHAR2 DEFAULT NULL,
p_global_attribute11 VARCHAR2 DEFAULT NULL,
p_global_attribute12 VARCHAR2 DEFAULT NULL,
p_global_attribute13 VARCHAR2 DEFAULT NULL,
p_global_attribute14 VARCHAR2 DEFAULT NULL,
p_global_attribute15 VARCHAR2 DEFAULT NULL,
p_global_attribute16 VARCHAR2 DEFAULT NULL,
p_global_attribute17 VARCHAR2 DEFAULT NULL,
p_global_attribute18 VARCHAR2 DEFAULT NULL,
p_global_attribute19 VARCHAR2 DEFAULT NULL,
p_global_attribute20 VARCHAR2 DEFAULT NULL,*/
p_calling_sequence=>NULL,
/* p_receipt_verified_flag VARCHAR2 DEFAULT NULL,
p_receipt_required_flag VARCHAR2 DEFAULT NULL,
p_receipt_missing_flag VARCHAR2 DEFAULT NULL,
p_justification VARCHAR2 DEFAULT NULL,
p_expense_group VARCHAR2 DEFAULT NULL,
p_end_expense_date DATE DEFAULT NULL,
p_receipt_currency_code VARCHAR2 DEFAULT NULL,
p_receipt_conversion_rate VARCHAR2 DEFAULT NULL,
p_receipt_currency_amount NUMBER DEFAULT NULL,
p_daily_amount NUMBER DEFAULT NULL,
p_web_parameter_id NUMBER DEFAULT NULL,
p_adjustment_reason VARCHAR2 DEFAULT NULL,
p_credit_card_trx_id NUMBER DEFAULT NULL,
p_company_prepaid_invoice_id NUMBER DEFAULT NULL,
-- Invoice Lines Project Stage 1
p_rounding_amt NUMBER DEFAULT NULL,
p_charge_applicable_to_dist_id NUMBER DEFAULT NULL,
p_corrected_invoice_dist_id NUMBER DEFAULT NULL,
p_related_id NUMBER DEFAULT NULL,
p_asset_book_type_code VARCHAR2 DEFAULT NULL,
p_asset_category_id NUMBER DEFAULT NULL,
--ETAX: Invwkb
p_intended_use VARCHAR2 DEFAULT NULL,*\*/
p_rcv_charge_addition_flag => 'N');
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.DEBUG('给应付发票分配行插值时出现错误 : '||SQLERRM);
raise form_trigger_failure;
END; END;

EBS技术开发之返利开发的更多相关文章

  1. iOS开发——高级技术精选&底层开发之越狱开发第一篇

    底层开发之越狱开发第一篇 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进 ...

  2. Manual | BSD手册| Linux手册 | 数据库手册 | 编程开发手册 | WEB开发手册 | 软件应用手册 | 网络技术手册 | GNU手册

    豆豆手册 □ BSD手册 □ Linux手册 □ 数据库手册 □ 编程开发手册 □ WEB开发手册 □ 软件应用手册 □ 网络技术手册 □ GNU手册 在线手册 首 页 BSD手册   ·FreeBS ...

  3. Android数据绑定技术一,企业级开发

    PS:数据绑定,顾名思义是数据与一些控件或者用户账号等绑定,这样用的好处是便于管理.代码清晰,量少. 首先要了解什么是数据绑定? 为什么要用数据绑定? 怎么用数据绑定? 语法的使用 简单例子,数据绑定 ...

  4. 基于SpringBoot从零构建博客网站 - 技术选型和整合开发环境

    技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化 ...

  5. 使用模拟对象(Mock Object)技术进行测试驱动开发

    敏捷开发 敏捷软件开发又称敏捷开发,是一种从上世纪 90 年代开始引起开发人员注意的新型软件开发方法.和传统瀑布式开发方法对比,敏捷开发强调的是在几周或者几个月很短的时间周期,完成相对较小功能,并交付 ...

  6. [技术博客]Android 开发 Bug Log

    [技术博客] Android 开发 Bug Log 大大小小的bug,聪明的愚蠢的都有, 持续记录中...... java.lang.IllegalArgumentException: The sty ...

  7. iOS开发——高级技术精选&底层开发之越狱开发第二篇

    底层开发之越狱开发第二篇 今天项目中要用到检查iPhone是否越狱的方法. Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用 /*方法名: * isJailbroken ...

  8. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  9. 你知道吗?使用任何HTML5开发工具都可开发iOS、Android原生App

    APICloud App开发平台一直在不断升级开发工具库,这一年增加了众多开发工具.目的就是让开发者可以选择使用任何自己喜欢的HTML5开发工具去开发App.这次,APICloud把所有关于开发工具的 ...

随机推荐

  1. [LeetCode] Smallest Good Base 最小的好基数

    For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1. Now given a str ...

  2. ios开发-将false和true,当做字典的值,并将字典转成字符串,上传到服务器

    今天遇到一个需求,将false和true,当做字典的值,并将字典转成字符串,上传到服务器. 可能这个需求大家遇到过,大部分原因是安卓的同事已经按这样的需求开发完了.我们只能跟随安卓的脚步了. (一)处 ...

  3. 【Swift】ios开发中巧用 description 打印对象时,打印对象的属性

    ios开发中我们打印对象的时候,会直接输出对象地址,这样不方便我们开发.我们可以 巧用 description 打印对象时,输出对象的属性 在oc中直接重写即可.swift中需要遵守Printable ...

  4. [POJ 1006]生理周期

    Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰 ...

  5. [SDOI2011]黑白棋

    Description 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色不同. 小 ...

  6. [Codeforces]852I - Dating

    题目大意:给定一棵n个点的树,每个点上有一个汉子或妹子,每人有一个权值,每次询问一条链上选出一对权值相等的男女有多少种选法.(n,q<=10^5) 做法:比较显然的树上莫队,熟悉序列莫队那套理论 ...

  7. ●SPOJ 8222 NSUBSTR–Substrings

    题链: http://www.spoj.com/problems/NSUBSTR/题解: 后缀自动机. 不难发现,对于自动机里面的一个状态s, 如果其允许的最大长度为maxs[s],其right集合的 ...

  8. [bzoj4820][Sdoi2017]硬币游戏

    来自FallDream的博客,未经允许,请勿转载,谢谢. 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利.大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了 ...

  9. React 深入系列4:组件的生命周期

    文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列4:组件的生命周期 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助 ...

  10. C语言程序设计第三次作业——选择结构(1)

    一.改错题 1.题目计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 源程序(有错误的程序): #include <stdio.h> int main ...